- Nov 18, 2016
-
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26834 llvm-svn: 287326
-
Rui Ueyama authored
llvm-svn: 287325
-
Rui Ueyama authored
llvm-svn: 287324
-
Rui Ueyama authored
llvm-svn: 287323
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26792 llvm-svn: 287322
-
Rui Ueyama authored
readVersionDeclaration was to read anonymous version definition and named version definition. Splitting it into two functions should improve readability as the two cases are different enough. I also changed a few helper functions to return values instead of mutating given references. llvm-svn: 287319
-
Rui Ueyama authored
llvm-svn: 287318
-
Rui Ueyama authored
MergeOutputSection class was a bit hard to use because it provdes a series of finalize functions that have to be called in a right way at a right time. It also intereacted with MergeInputSection, and the logic was somewhat entangled between the two classes. This patch simplifies it by providing only one finalize function. Now, all you have to do is to call MergeOutputSection::finalize when you have added all sections to the output section. Then, it internally merges strings and initliazes StringPiece objects. I think this is much easier to understand. This patch also adds comments. llvm-svn: 287314
-
Davide Italiano authored
llvm-svn: 287297
-
Davide Italiano authored
llvm-svn: 287296
-
Rafael Espindola authored
Since the output has a section table too, it is meaningful to compute the sh_link. In a more practical note, the binutils' strip crashes if sh_link is not set for SHT_ARM_EXIDX. llvm-svn: 287280
-
- Nov 17, 2016
-
-
Simon Atanasyan authored
Also add new comments with MIPS GOT description. llvm-svn: 287264
-
Rafael Espindola authored
I hit an internal linker script that was defining _DYNAMIC instead of letting the linker do it. It turns out that both bfd and gold allow that. This is pretty easy to implement, just make the linker defined symbol weak. This should have no impact in the case where there is no user defined symbol: The visibility is hidden, which causes the output to still be local. llvm-svn: 287260
-
Rui Ueyama authored
Linker script doesn't create a section if it has no content. So the following script doesn't create .norelocs section if it doesn't have any .rel* sections. .norelocs : { *(.rel*) } Later, if you assert that the size of .norelocs is 0, LLD printed out an error message, because it didn't allow calling SIZEOF() on nonexistent sections. This patch allows SIZEOF() on nonexistent sections, so that you can do something like this. ASSERT(SIZEOF(.norelocs), "shouldn't contain .rel sections!") Note that this behavior is compatible with GNU. Differential Revision: https://reviews.llvm.org/D26810 llvm-svn: 287257
-
Rui Ueyama authored
llvm-svn: 287254
-
Rui Ueyama authored
llvm-svn: 287253
-
Rui Ueyama authored
llvm-svn: 287252
-
Rui Ueyama authored
LLD supports multi-threading, and it seems to be working well as you can see in r287140. In short, LLD runs a few percent to 30% faster with -threads and more than 50% faster if you are using -build-id (your mileage may vary depending on your computer). However, I don't think most users even don't know about that because -threads is not a default option. This patch enables it by default. Discussion thread: http://lists.llvm.org/pipermail/llvm-dev/2016-November/107160.html llvm-svn: 287237
-
Rui Ueyama authored
llvm-svn: 287234
-
Rafael Espindola authored
llvm-svn: 287231
-
Rafael Espindola authored
llvm-svn: 287225
-
Eugene Leviant authored
llvm-svn: 287218
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26740 llvm-svn: 287216
-
Chris Bieneman authored
This patch updates a couple places where add_dependencies was being explicitly called to add dependencies on intrinsics_gen to instead use the DEPENDS named parameter. This cleanup is needed for a patch I'm working on to add a dependency debugging mode to the build system. llvm-svn: 287205
-
Rui Ueyama authored
llvm-svn: 287202
-
Rui Ueyama authored
llvm-svn: 287200
-
Rui Ueyama authored
Because it is uint16_t in the ELF spec. Using size_t was confusing. llvm-svn: 287198
-
Rui Ueyama authored
llvm-svn: 287197
-
Rui Ueyama authored
We used to create a vector contantaining all version definitions with wildcards because doing that was efficient. All patterns were compiled to a regexp and matched against symbol names. Because a regexp can be converted to a DFA, matching against union of patterns is as cheap as matching against one patter. We are no longer converting them to regexp. Our own glob pattern handler doesn't do such optimization. Therefore, creating a vector no longer makes sense. llvm-svn: 287196
-
Rui Ueyama authored
llvm-svn: 287192
-
Rui Ueyama authored
llvm-svn: 287191
-
- 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
-
Rui Ueyama authored
Also add a comment saying that check() returns a value. llvm-svn: 287136
-
George Rimar authored
This change separates all versioned locals to be a separate list in config, that was suggested by Rafael and simplifies the logic a bit. Differential revision: https://reviews.llvm.org/D26754 llvm-svn: 287132
-
Rafael Espindola authored
Turns out some systems do define it. Not producing an error in this case matches gold and bfd. llvm-svn: 287125
-
George Rimar authored
Previously we did not support them, patch implements this functionality Differential revision: https://reviews.llvm.org/D26604 llvm-svn: 287124
-
George Rimar authored
Forgot about that, I am sorry. llvm-svn: 287123
-
George Rimar authored
Particulaty "cannot preempt symbol" message is extended with locations now. Differential revision: https://reviews.llvm.org/D26738 llvm-svn: 287120
-
Rui Ueyama authored
Our build-id is a tree hash anyway, so I'll define this as a synonym for sha1. GNU gold takes this parameter, so this is for compatibility with that. llvm-svn: 287119
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26669 llvm-svn: 287092
-