llvm-project/lld/ELF/Arch
Fangrui Song 4ff63648ad [ELF][X86_64] Use R_GOTREL_FROM_END instead of R_GOTREL for R_X86_64_GOTOFF64
Summary:
R_X86_64_GOTOFF64: S + A - GOT
R_X86_64_GOTPC{32,64}: GOT + A - P (R_GOTONLY_PC_FROM_END)

R_X86_64_GOTOFF64 should use R_GOTREL_FROM_END so that in conjunction with
R_X86_64_GOTPC{32,64}, the `GOT` term is neutralized. This also matches
the handling of R_386_GOTOFF (S + A - GOT).

Reviewers: ruiu, espindola

Subscribers: emaste, arichardson, llvm-commits

Differential Revision: https://reviews.llvm.org/D48095

llvm-svn: 334672
2018-06-13 23:29:28 +00:00
..
AArch64.cpp [ELF][AArch64] Implement the AArch64 TLSLD_LDST_LO12 family of relocs 2018-05-04 08:53:34 +00:00
AMDGPU.cpp AMDGPU/LLD: Handle R_AMDGPU_REL64 relocation 2018-06-11 21:42:53 +00:00
ARM.cpp [ELF] - Eliminate Target::isPicRel method. 2018-04-05 12:07:20 +00:00
AVR.cpp Rename SymbolBody -> Symbol 2017-11-03 21:21:47 +00:00
Hexagon.cpp Remove needless bitwise-AND. 2018-06-13 19:58:33 +00:00
Mips.cpp [ELF][MIPS] Reorganize isMipsPIC routine. NFC 2018-05-04 20:48:53 +00:00
MipsArchTree.cpp [ELF][mips] Print the full file path for files with incompatible ISA 2017-12-07 16:08:59 +00:00
PPC.cpp [ELF] Recommit 327248 with Arm using the .got for _GLOBAL_OFFSET_TABLE_ 2018-03-19 06:52:51 +00:00
PPC64.cpp Use shorter names for #lo, #hi, #ha, etc. NFC. 2018-06-13 00:50:17 +00:00
SPARCV9.cpp Do not use template for check{Int,UInt,IntUInt,Alignment}. 2018-03-29 22:40:52 +00:00
X86.cpp Rename R_TLSGD/R_TLSLD to add _GOT_FROM_END. NFC. 2018-05-31 18:07:06 +00:00
X86_64.cpp [ELF][X86_64] Use R_GOTREL_FROM_END instead of R_GOTREL for R_X86_64_GOTOFF64 2018-06-13 23:29:28 +00:00