- Jun 17, 2016
-
-
Rafael Espindola authored
llvm-svn: 273006
-
Rafael Espindola authored
llvm-svn: 273004
-
Rui Ueyama authored
I think it is me who named these variables, but I always find that they are slightly confusing because align is a verb. Adding four letters is worth it. llvm-svn: 272984
-
- Jun 10, 2016
-
-
Simon Atanasyan authored
Just for consistency with other parts of the code. llvm-svn: 272390
-
Simon Atanasyan authored
In isPreemptible routine we interested in R_MIPS_GPREL16 relocation only. This relocation fits 0xf. So the new mask 0xff is just to conform the ABI specification. llvm-svn: 272388
-
George Rimar authored
It was reported in PR28020, that lld does not link code which gold do. But in fact that is expected behavior as we do not support DT_TEXTREL. This patch changes error message as it can report about relocations against text segments exclusively, other dynamic relocations errors can be handled separately. Differential revision: http://reviews.llvm.org/D21133 llvm-svn: 272377
-
- Jun 09, 2016
-
-
George Rimar authored
llvm-svn: 272265
-
- Jun 08, 2016
-
-
Rafael Espindola authored
If the symbol is local we don't need to create a R_X86_64_DTPOFF64, we can just write the correct value in the got. Should fix pr28018. llvm-svn: 272205
-
Rui Ueyama authored
llvm-svn: 272146
-
George Rimar authored
llvm-svn: 272134
-
George Rimar authored
That made few places in code a bit shorter. llvm-svn: 272133
-
- Jun 05, 2016
-
-
Rafael Espindola authored
llvm-svn: 271815
-
Rafael Espindola authored
This remove some EM_386 specific code from InputSection.cpp and opens the way for more relaxations. llvm-svn: 271814
-
Rafael Espindola authored
It will also be used for GT_TO_IE relaxations. llvm-svn: 271813
-
Rafael Espindola authored
It will be used for more than just gots. llvm-svn: 271812
-
- Jun 04, 2016
-
-
Rafael Espindola authored
We were not handling page relative relocations. llvm-svn: 271798
-
- Jun 02, 2016
-
-
Rafael Espindola authored
This is mostly extracted from http://reviews.llvm.org/D18960. The general idea for tlsdesc is that the two GD got entries are used for a function pointer and its argument. The dynamic linker sets both. In the non-dlopen case the dynamic linker sets the function to the identity and the argument to the offset in the tls block. All that the static linker has to do in the non-dlopen case is relocate the code to point to the got entries and create a dynamic relocation. The dlopen case is more complicated, but can be implemented in another patch. llvm-svn: 271569
-
- Jun 01, 2016
-
-
George Rimar authored
Patch implements next relaxation from latest ABI: "Convert memory operand of test and binop into immediate operand, where binop is one of adc, add, and, cmp, or, sbb, sub, xor instructions, when position-independent code is disabled." It is described in System V Application Binary Interface AMD64 Architecture Processor Supplement Draft Version 0.99.8 (https://github.com/hjl-tools/x86-psABI/wiki/x86-64-psABI-r249.pdf, B.2 "B.2 Optimize GOTPCRELX Relocations"). Differential revision: http://reviews.llvm.org/D20793 llvm-svn: 271405
-
Rafael Espindola authored
This reverts commit r271365. Sorry, wrong branch. llvm-svn: 271366
-
Rafael Espindola authored
llvm-svn: 271365
-
- May 28, 2016
-
-
Simon Atanasyan authored
In case of MIPS, GP-relative relocations always resolve to a definition in a regular input file, ignoring the one-definition rule. Such relocations are used to setup GP relative offsets in a function's prologue. So we, for example, should not attempt to create a dynamic relocation even if the target symbol is preemptible. Fixes bug 27880. Differential Revision: http://reviews.llvm.org/D20664 llvm-svn: 271100
-
- May 26, 2016
-
-
George Rimar authored
llvm-svn: 270847
-
- May 25, 2016
-
-
George Rimar authored
System V Application Binary Interface AMD64 Architecture Processor Supplement Draft Version 0.99.8 (https://github.com/hjl-tools/x86-psABI/wiki/x86-64-psABI-r249.pdf, B.2 "B.2 Optimize GOTPCRELX Relocations") introduces possible relaxations for R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX. That patch implements the next relaxation: mov foo@GOTPCREL(%rip), %reg => lea foo(%rip), %reg and also opens door for implementing all other ones. Implementation was suggested by Rafael Ávila de Espíndola with few additions and testcases by myself. Differential revision: http://reviews.llvm.org/D15779 llvm-svn: 270705
-
Rui Ueyama authored
llvm-svn: 270652
-
- May 24, 2016
-
-
Rui Ueyama authored
scanReloc and the functions on which scanReloc depends is in total more than 600 lines of code. Since scanReloc does not depend on Writer, it is better to move it into a separate file. Differential Revision: http://reviews.llvm.org/D20554 llvm-svn: 270606
-