- Mar 09, 2017
-
-
George Rimar authored
gold linker manual describes them as: -z text Do not permit relocations in read-only segments -z notext Permit relocations in read-only segments (default) In LLD default is to not permit them. Patch implements -z notext. Differential revision: https://reviews.llvm.org/D30530 llvm-svn: 297366
-
George Rimar authored
.eh_frame_hdr is a header constructed for .eh_frame sections. We do not proccess .eh_frame when doing relocatable output, so should not try to create .eh_frame_hdr too. Previous behavior without this patch is segfault. Fixes PR32118. Differential revision: https://reviews.llvm.org/D30566 llvm-svn: 297365
-
- Mar 08, 2017
-
-
Rafael Espindola authored
With this we have a single section hierarchy. It is a bit less code, but the main advantage will be in a future patch being able to handle foo = symbol_in_obj; in a linker script. Currently that fails since we try to find the output section of symbol_in_obj. With this we should be able to just return an InputSection from the expression. llvm-svn: 297313
-
Rafael Espindola authored
llvm-svn: 297305
-
Rui Ueyama authored
This reverts commit r297008 because it's reported that that change broke AArch64 bots. llvm-svn: 297297
-
Rafael Espindola authored
llvm-svn: 297293
-
Rafael Espindola authored
llvm-svn: 297292
-
Rafael Espindola authored
It is sufficiently different in that it returns an offset in the input file, not the output section. llvm-svn: 297290
-
Rafael Espindola authored
llvm-svn: 297287
-
Rafael Espindola authored
llvm-svn: 297286
-
Rafael Espindola authored
llvm-svn: 297282
-
Rafael Espindola authored
With this InputSectionBase is now 144 bytes. llvm-svn: 297278
-
Peter Smith authored
This change moves the calls to finalizeContent() for each synthetic section before createThunks(). This will allow us to assign addresses prior to calling createThunks(). As addition of thunks may add to the static symbol table and may affect the size of the mips got section we introduce a couple of additional member functions to update these values. Differential revision: https://reviews.llvm.org/D29983 llvm-svn: 297277
-
- Mar 07, 2017
-
-
Rafael Espindola authored
This is consistent with what we do for input sections. llvm-svn: 297152
-
Rafael Espindola authored
llvm-svn: 297146
-
Rafael Espindola authored
It now matches the name used in InputSectionBase. llvm-svn: 297144
-
Peter Smith authored
This change fixes a bug in which the Mips LA25 Thunks are always assigned to the same Output section as the caller and not the callee as expected. Differential Revision: https://reviews.llvm.org/D30637 llvm-svn: 297135
-
Rui Ueyama authored
llvm-svn: 297108
-
Rui Ueyama authored
llvm-svn: 297107
-
- Mar 06, 2017
-
-
Rafael Espindola authored
NFC, just a bit simpler. llvm-svn: 297087
-
Rafael Espindola authored
llvm-svn: 297077
-
Evgeniy Stepanov authored
tools/lld/ELF/Symbols.cpp:215:13: error: unused variable 'S' [-Werror,-Wunused-variable] if (auto *S = dyn_cast<SharedSymbol>(this) llvm-svn: 297063
-
Rafael Espindola authored
llvm-svn: 297061
-
Rafael Espindola authored
llvm-svn: 297059
-
Rafael Espindola authored
This puts us at parity with bfd, which could already gc this case. I noticed the sections not being gced when linking a modified freebsd kernel. A section that was not gced and not mentioned in the linker script would end up breaking the expected layout. Since fixing the gc is relatively simple and an improvement, that seems better than trying to hack the orphan placement code. There are 173 input section in the entire link whose names are valid C identifiers, so this is probably not too performance critical. llvm-svn: 297049
-
Rui Ueyama authored
llvm-svn: 297012
-
George Rimar authored
In compare with D30458, this makes Bss/BssRelRo to be pure synthetic sections. That removes CopyRelSection class completely, making Bss/BssRelRo to be just regular synthetics. SharedSymbols involved in creating copy relocations are converted to DefinedRegular, what also simplifies things. Differential revision: https://reviews.llvm.org/D30541 llvm-svn: 297008
-
- Mar 02, 2017
-
-
Rafael Espindola authored
This is consistent with rest of the file and opens the way for a relocation keeping multiple sections alive. llvm-svn: 296788
-
Rui Ueyama authored
llvm-svn: 296773
-
Peter Collingbourne authored
Differential Revision: https://reviews.llvm.org/D30519 llvm-svn: 296726
-
Rafael Espindola authored
We were not gcing any section whose name was a C identifier. Both gold and bfd only keep those if they are used. To avoid having to create the __start/__stop symbols early or doing string lookups in resolvedReloc, this patch just looks for undefined symbols __start/__stop to decide if a section is needed or not. llvm-svn: 296723
-
Peter Collingbourne authored
This patch adds an option named --thinlto-cache-dir, which specifies the path to a directory in which to cache native object files for ThinLTO incremental builds. Differential Revision: https://reviews.llvm.org/D30509 llvm-svn: 296702
-
- Mar 01, 2017
-
-
Rui Ueyama authored
That class had three member functions, and all of them are just reader methods that did not depend on class members, so they can be just non- member functions. Probably we should reorganize the functions themselves because their return types doesn't make much sense to me, but for now I just moved these functions out of the class. llvm-svn: 296700
-
Rui Ueyama authored
llvm-svn: 296695
-
Rui Ueyama authored
llvm-svn: 296694
-
Rui Ueyama authored
llvm-svn: 296689
-
Rui Ueyama authored
llvm-svn: 296688
-
Rui Ueyama authored
GdbIndexBuilder class inherited LoadedObjectInfo, but that's not necessary. llvm-svn: 296687
-
Rui Ueyama authored
llvm-svn: 296686
-
Rui Ueyama authored
llvm-svn: 296680
-