- Nov 23, 2016
-
-
Simon Atanasyan authored
llvm-svn: 287738
-
- Nov 22, 2016
-
-
Rui Ueyama authored
We cannot have MipsRldMap class and In<ELFT>::MipsRldMap. Renamed the class. llvm-svn: 287683
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26958 llvm-svn: 287675
-
Rui Ueyama authored
llvm-svn: 287617
-
Rui Ueyama authored
llvm-svn: 287616
-
Rui Ueyama authored
llvm-svn: 287615
-
Rui Ueyama authored
llvm-svn: 287614
-
Rui Ueyama authored
llvm-svn: 287613
-
Rui Ueyama authored
Some synthetic sections are not derived calsses of SyntehticSection. They are derived directly from InputSection. For consistencly, we should use SyntheticSection. llvm-svn: 287606
-
Rui Ueyama authored
llvm-svn: 287605
-
Rui Ueyama authored
We had five different BuildId subclasses for five different types of build-ids. They can simply be merged to a single class. llvm-svn: 287603
-
- Nov 21, 2016
-
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26918 llvm-svn: 287554
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26906 llvm-svn: 287549
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26854 llvm-svn: 287526
-
- Nov 18, 2016
-
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26842 llvm-svn: 287346
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26834 llvm-svn: 287326
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26792 llvm-svn: 287322
-
- Nov 17, 2016
-
-
Simon Atanasyan authored
Also add new comments with MIPS GOT description. llvm-svn: 287264
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26740 llvm-svn: 287216
-
Rui Ueyama authored
llvm-svn: 287202
-
- Nov 16, 2016
-
-
Simon Atanasyan authored
MIPS GOT handling is very different from other targets so it is better to keep the code in the separatre section class MipsGotSection. This patch introduces the new section and moves all MIPS specific code from GotSection to the new class. I did not rename fields and methods in the MipsGotSection class to reduce the diff and plan to do that by the separate commit. Differential revision: https://reviews.llvm.org/D26733 llvm-svn: 287150
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26669 llvm-svn: 287092
-
- Nov 15, 2016
-
-
Eugene Leviant authored
This patch introduces the following changes: - DynamicSection now inherits InputSection<ELFT> and was moved to SyntheticSections.h/.cpp. - Link and Entsize fields of DynamicSection are propagated to its output section - In<ELFT>::SyntheticSections was removed. - Finalization of synthetic sections was removed from OutputSection<ELFT>::finalize. Now finalizeSyntheticSections is used instead. Differential revision: https://reviews.llvm.org/D26603 llvm-svn: 286950
-
- Nov 14, 2016
-
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26549 llvm-svn: 286799
-
- Nov 11, 2016
-
-
Eugene Leviant authored
llvm-svn: 286588
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26498 llvm-svn: 286580
-
- Nov 10, 2016
-
-
Rui Ueyama authored
Summary: This patch adds a ".comment" section to an output. The comment section contains the linker's version string. You can now find out whether a binary is created by LLD or not using objdump command like this. $ objdump -s -j .comment foo foo: file format elf64-x86-64 Contents of section .comment: 0000 00474343 3a202855 62756e74 7520342e .GCC: (Ubuntu 4. 0010 382e342d 32756275 6e747531 7e31342e 8.4-2ubuntu1~14. ... 00c0 766d2f74 72756e6b 20323835 38343629 vm/trunk 285846) 00d0 004c696e 6b65723a 204c4c44 20342e30 .Linker: LLD 4.0 00e0 2e302028 7472756e 6b203238 36343036 .0 (trunk 286406 00f0 2900 ). Compilers emits .comment section as well, so the output contains both compiler and linker information. Alternative considered: I first tried to add a SHT_NOTE section because GNU gold does that. A NOTE section starts with a header which contains content type. It turned out that ld.gold sets type NT_GNU_GOLD_VERSION to their NOTE section. So the NOTE type is only for GNU gold (surprise!) Next, I tried to create ".linker-version" section. However, it seems that reusing the existing ".comment" section is better because 1) other tools already know about .comment section and is able to strip it and 2) the result contans not only linker info but also compiler info. Differential Revision: https://reviews.llvm.org/D26487 llvm-svn: 286496
-
Rafael Espindola authored
Thanks to Michael Spencer for the suggestion. llvm-svn: 286462
-
Eugene Leviant authored
llvm-svn: 286445
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26349 llvm-svn: 286443
-
- Nov 09, 2016
-
-
Simon Atanasyan authored
Previously, we have both input and output section for .MIPS.abiflags. Now we have only one class for .MIPS.abiflags, which is MipsAbiFlagsSection. This class is a synthetic input section. .MIPS.abiflags sections are handled as regular sections until the control reaches Writer. Writer then aggregates all sections whose type is SHT_MIPS_ABIFLAGS to create a single synthesized input section. The synthesized section is then processed normally as if it came from an input file. llvm-svn: 286398
-
Simon Atanasyan authored
Previously, we have both input and output sections for .reginfo and .MIPS.options. Now for each such sections we have one synthetic input sections: MipsReginfoSection and MipsOptionsSection respectively. Both sections are handled as regular sections until the control reaches Writer. Writer then aggregates all sections whose type is SHT_MIPS_REGINFO or SHT_MIPS_OPTIONS to create a single synthesized input section. In that moment Writer also save GP0 value to the MipsGp0 field of the corresponding ObjectFile. This value required for R_MIPS_GPREL16 and R_MIPS_GPREL32 relocations calculation. Differential revision: https://reviews.llvm.org/D26444 llvm-svn: 286397
-
- Nov 08, 2016
-
-
Rafael Espindola authored
We can just use a regular InputSection. llvm-svn: 286237
-
Rafael Espindola authored
This reverts commit r286100. This saves 8 bytes of every InputSection. llvm-svn: 286235
-
Rafael Espindola authored
With the current infrastructure it can be just an ordinary InputSection like the real .bss sections. llvm-svn: 286234
-
- Nov 07, 2016
-
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26281 llvm-svn: 286100
-
- Nov 06, 2016
-
-
George Rimar authored
This fixes casting warning and removes the need of that cast at all. llvm-svn: 286065
-
George Rimar authored
Patch switches computing of --build-id hash to tree. This is the way when input data is splitted by chunks, hash is computed for each one in threaded/non-threaded way. At the end hash is conputed for result tree. With or without -threads the result hash is the same. Differential revision: https://reviews.llvm.org/D26199 llvm-svn: 286061
-
Rui Ueyama authored
A CommonInputSection is a section containing all common symbols. That was an input section but was abstracted in a different way than the synthetic input sections because it was written before the synthetic input section was invented. This patch rewrites CommonInputSection as a synthetic input section so that it behaves better with other sections. llvm-svn: 286053
-
- Nov 02, 2016
-
-
Rui Ueyama authored
Differential Revision: https://reviews.llvm.org/D26225 llvm-svn: 285851
-