- Mar 23, 2017
-
-
Rui Ueyama authored
llvm-svn: 298575
-
Rui Ueyama authored
llvm-svn: 298571
-
Rui Ueyama authored
Fixes https://bugs.llvm.org/show_bug.cgi?id=32307. Differential Revision: https://reviews.llvm.org/D31255 llvm-svn: 298569
-
Rui Ueyama authored
This is to improve compatibility with GNU Libtool that expect /supported targets:.* elf/ in a message for the -help option. Differential Revision: https://reviews.llvm.org/D31208 llvm-svn: 298568
-
Davide Italiano authored
Patch by Mark Kettenis. llvm-svn: 298567
-
Rui Ueyama authored
"Parallel" is the most important aspect of the functions, so we shouldn't omit that. llvm-svn: 298557
-
- Mar 22, 2017
-
-
Rui Ueyama authored
Previous output: $ ld.lld -version LLD 5.0.0 New output: $ ld.lld -version LLD 5.0.0 (compatible with GNU linkers) Differential Revision: https://reviews.llvm.org/D31199 llvm-svn: 298532
-
Rui Ueyama authored
This is a shorthand for Config->Wordsize == 8. So this is not strictly necessary but seems handy. "Is 64 bit?" is easier to read than "Is wordsize 8 byte?" llvm-svn: 298463
-
Rui Ueyama authored
LinkerScript used to be a template class, so we couldn't instantiate that class in elf::link. We instantiated ScriptConfig class earlier instead so that the linker script parser can store configurations to the object. Now that LinkerScript is not a template, it doesn't make sense to separate ScriptConfig from LinkerScript. This patch merges them. llvm-svn: 298457
-
Rui Ueyama authored
llvm-svn: 298456
-
- Mar 21, 2017
-
-
Rui Ueyama authored
llvm-svn: 298447
-
Rui Ueyama authored
This is a shorthand for `Config->IsLE ? support::little : support::big`. llvm-svn: 298445
-
Rui Ueyama authored
llvm-svn: 298403
-
George Rimar authored
llvm-svn: 298353
-
George Rimar authored
llvm-svn: 298351
-
George Rimar authored
llvm-svn: 298350
-
George Rimar authored
That finally should linux BB after r298345. llvm-svn: 298349
-
George Rimar authored
Fix for linux build bot: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/8144/steps/build/logs/stdio llvm-svn: 298348
-
George Rimar authored
llvm-svn: 298346
-
George Rimar authored
Patch moves Sections array to InputFile (root class for input files). That allows to detemplate GdbIndexSection. Differential revision: https://reviews.llvm.org/D30976 llvm-svn: 298345
-
Rafael Espindola authored
It is the only file type that needs it. llvm-svn: 298323
-
- Mar 20, 2017
-
-
Simon Atanasyan authored
The patch introduces two new relocations expressions R_MIPS_GOT_GP and R_MIPS_GOT_GP_PC. The first one represents a current value of `_gp` pointer and used to calculate relocations against the `__gnu_local_gp` symbol. The second one represents the offset between the beginning of the function and the `_gp` pointer's value. There are two motivations for introducing new expressions: - It's better to keep all non-trivial relocation calculations in the single place - `getRelocTargetVA` function. - Relocations against both `_gp_disp` and `__gnu_local_gp` symbols depend on the `_gp` value. It's a magical value points to the "middle" of GOT. Now all relocations use a common `_gp` value. But in fact, under some conditions each input file might require its own `_gp` value. I'm going to implement it in the future patches. So it's better to make `MipsGotSection` responsible for calculation of the `_gp` value. llvm-svn: 298306
-
Simon Atanasyan authored
llvm-svn: 298304
-
George Rimar authored
This continues detemplation process. Detemplating MipsGotSection<ELFT> is helpfull because can help to detemplate getRelocTargetVA. (one more change is required) It opens road to detemplation of GotSection<ELFT> and probably something else after that. Differential revision: https://reviews.llvm.org/D31090 llvm-svn: 298272
-
George Rimar authored
Does not introduce anything new, just performs detemplate, using methods we already have. Differential revision: https://reviews.llvm.org/D30935 llvm-svn: 298269
-
Rafael Espindola authored
I don't foresee having to makes these functions any stricter or fancier, so it probably makes sense to inline them. llvm-svn: 298252
-
Rafael Espindola authored
This would fix an initialized error found by msan. The error is not showing after r298241, but it is not clear why. llvm-svn: 298251
-
George Rimar authored
llvm-svn: 298244
-
George Rimar authored
llvm-svn: 298243
-
George Rimar authored
llvm-svn: 298242
-
George Rimar authored
Patch removes templated linkerscript class. Unfortunately that required 2 additional static methods findSymbol() and addRegularSymbol() because code depends on Symtab<ELFT>::X Differential revision: https://reviews.llvm.org/D30982 llvm-svn: 298241
-
George Rimar authored
llvm-svn: 298240
-
- Mar 19, 2017
-
-
Simon Atanasyan authored
llvm-svn: 298230
-
- Mar 18, 2017
-
-
Rui Ueyama authored
We had a few Config member functions that returns configuration values. For example, we had is64() which returns true if the target is 64-bit. The return values of these functions are constant and never change. This patch is to compute them only once to make it clear that they'll never change. llvm-svn: 298168
-
Rui Ueyama authored
isLE() return true if the target is little-endian. wordsize() returns 8 for 64-bit and 4 for 32-bit. llvm-svn: 298167
-
- Mar 17, 2017
-
-
Peter Collingbourne authored
ELF: Change check(Expected<T>, const Twine &) to call toString instead of converting to an error code. llvm-svn: 298155
-
Evgeniy Stepanov authored
__start_xxx symbol keeps section xxx alive only if it is not SHF_LINK_ORDER. Such sections can be used for user metadata, when __start_xxx is used to iterate over section contents at runtime, and the liveness is determined solely by the linked (associated) section. This was earlier implemented in r294592, and broken in r296723. Differential Revision: https://reviews.llvm.org/D30964 llvm-svn: 298154
-
Bob Haarman authored
recommend using llvm-ar when finding undefined references and empty archives Summary: When we perform LTO builds with a version of ar that does not understand LLVM bitcode objects, we end up with undefined references, because our archive files do not list the bitcode symbols in their indices. The error messages do not make it clear what the real problem is. This change adds a note that points out the likely problem and solution. It is similar in spirit to r282633, but aims to avoid false positives by only triggering when we see both undefined references and archives without symbols in their indices. Fixes PR32281. Reviewers: davide, ruiu, tejohnson Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31011 llvm-svn: 298124
-
George Rimar authored
To be consistent with other code, addresses post commit review comments. llvm-svn: 298102
-
Rafael Espindola authored
Handling & in particular is probably important because of its use in aligning addresses. llvm-svn: 298096
-