- Nov 08, 2016
-
-
Rafael Espindola authored
llvm-svn: 286242
-
George Rimar authored
Thanks to Malcolm Parsons who pointed on that. llvm-svn: 286239
-
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
-
Eugene Leviant authored
llvm-svn: 286226
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D25325 llvm-svn: 286225
-
George Rimar authored
llvm-svn: 286220
-
Davide Italiano authored
llvm-svn: 286194
-
Davide Italiano authored
llvm-svn: 286193
-
- Nov 07, 2016
-
-
Davide Italiano authored
llvm-svn: 286158
-
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
llvm-svn: 286064
-
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
llvm-svn: 286054
-
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 05, 2016
-
-
Simon Atanasyan authored
In short the patch introduces support for linking object file conform MIPS N32 ABI [1]. This ABI is similar to N64 ABI but uses 32-bit pointer size. The most non-trivial requirement of this ABI is one more relocation packing format. N64 ABI puts multiple relocation type into the single relocation record. The N32 ABI uses series of successive relocations with the same offset for this purpose. In this patch, new function `mergeMipsN32RelTypes` handle this case and "convert" N32 relocation to the N64 relocation so the rest of the code keep unchanged. For now, linker does not support series of relocations applied to sections without SHF_ALLOC bit. Probably later I will add the support or insert some sort of assert into the `relocateNonAlloc` routine to catch this case. [1] ftp://www.linux-mips.org/pub/linux/mips/doc/ABI/MIPS-N32-ABI-Handbook.pdf Differential revision: https://reviews.llvm.org/D26298 llvm-svn: 286052
-
Rui Ueyama authored
Previously, we do this piece of code to iterate over all input sections. for (elf::ObjectFile<ELFT> *F : Symtab.getObjectFiles()) for (InputSectionBase<ELFT> *S : F->getSections()) It turned out that this mechanisms doesn't work well with synthetic input sections because synthetic input sections don't belong to any input file. This patch defines a vector that contains all input sections including synthetic ones. llvm-svn: 286051
-
Eugene Zelenko authored
Differential revision: https://reviews.llvm.org/D26320 llvm-svn: 286030
-
Rui Ueyama authored
llvm-svn: 286028
-
- Nov 04, 2016
-
-
Rui Ueyama authored
This change fixes a bug that was introduced by r285851. r285851 converted .interp section as an output section to an input section. But I forgot to make it a "Live" section, so if -gc-section is given, it was garbage collected. llvm-svn: 286025
-
Rui Ueyama authored
It turned ou that we actually want to call std::for_each even if threading is supported. Unless --thread is given, LLD shouldn't use more than one threads. llvm-svn: 286004
-
Rui Ueyama authored
llvm-svn: 286001
-
Eugene Zelenko authored
Differential revision: https://reviews.llvm.org/D26293 llvm-svn: 286000
-
Rafael Espindola authored
llvm-svn: 285996
-
- Nov 03, 2016
-
-
Rui Ueyama authored
If multi-threading is disabled, parallel_for_each will automatically fall back to std::for_each, so we don't have to do that ourselves. llvm-svn: 285968
-
Rafael Espindola authored
llvm-svn: 285966
-
Rafael Espindola authored
This avoids duplicating the buffer in InputFile. llvm-svn: 285965
-
Rafael Espindola authored
llvm-svn: 285962
-
Rafael Espindola authored
llvm-svn: 285956
-
Rui Ueyama authored
llvm-svn: 285952
-
Rui Ueyama authored
Previously, it didn't support the character class, so we couldn't eliminate the use fo llvm::Regex. Now that it is supported, we can remove compileGlobPattern, which converts a glob pattern to a regex. This patch contains optimization for exact/prefix/suffix matches. Differential Revision: https://reviews.llvm.org/D26284 llvm-svn: 285949
-
Rafael Espindola authored
Instead of remembering a raw Elf_Shdr, store the symbol table proper and the index of the first non local. This moves error handling upfront and simplifies it. llvm-svn: 285933
-
Rafael Espindola authored
llvm-svn: 285926
-
Rafael Espindola authored
llvm-svn: 285922
-
Rafael Espindola authored
llvm-svn: 285918
-
Rafael Espindola authored
llvm-svn: 285913
-
Rafael Espindola authored
llvm-svn: 285911
-
Rafael Espindola authored
llvm-svn: 285906
-