llvm-project/lld/ELF/Arch
Peter Smith 18aa0be36e For most Targets the _GLOBAL_OFFSET_TABLE_ symbol is expected to be at
the start of the .got.plt section so that _GLOBAL_OFFSET_TABLE_[0] =
reserved value that is by convention the address of the dynamic section.
Previously we had defined _GLOBAL_OFFSET_TABLE_ as either the start or end
of the .got section with the intention that the .got.plt section would
follow the .got. However this does not always hold with the current
default section ordering so _GLOBAL_OFFSET_TABLE_[0] may not be consistent
with the reserved first entry of the .got.plt.

X86, X86_64, Arm and AArch64 will use the .got.plt. Mips and Power use .got

Fixes PR36555

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

llvm-svn: 327248
2018-03-11 20:58:18 +00:00
..
AArch64.cpp [ELF][AArch64] Add support for AArch64 range thunks. 2017-11-29 11:15:12 +00:00
AMDGPU.cpp Rename SymbolBody -> Symbol 2017-11-03 21:21:47 +00:00
ARM.cpp Use references instead of pointers. NFC. 2017-12-19 23:59:35 +00:00
AVR.cpp Rename SymbolBody -> Symbol 2017-11-03 21:21:47 +00:00
Mips.cpp For most Targets the _GLOBAL_OFFSET_TABLE_ symbol is expected to be at 2018-03-11 20:58:18 +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 For most Targets the _GLOBAL_OFFSET_TABLE_ symbol is expected to be at 2018-03-11 20:58:18 +00:00
PPC64.cpp [ELF] Convert {read,write}*be to endianness-aware read/write. 2018-03-09 18:03:22 +00:00
SPARCV9.cpp Rename SymbolBody -> Symbol 2017-11-03 21:21:47 +00:00
X86.cpp For most Targets the _GLOBAL_OFFSET_TABLE_ symbol is expected to be at 2018-03-11 20:58:18 +00:00
X86_64.cpp For most Targets the _GLOBAL_OFFSET_TABLE_ symbol is expected to be at 2018-03-11 20:58:18 +00:00