summaryrefslogtreecommitdiffstats
path: root/lld/ELF/LinkerScript.cpp
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2015-10-12 20:51:48 +0000
committerHal Finkel <hfinkel@anl.gov>2015-10-12 20:51:48 +0000
commit3bae2d87330f88b4ced7519da1c23f5450db08fd (patch)
tree585b37decc576abe1adb6d1d7c28a7e379457f62 /lld/ELF/LinkerScript.cpp
parent7357bbc6c3625153d9c9d49a15e86a3963090c56 (diff)
downloadbcm5719-llvm-3bae2d87330f88b4ced7519da1c23f5450db08fd.tar.gz
bcm5719-llvm-3bae2d87330f88b4ced7519da1c23f5450db08fd.zip
[ELF2] Sort PPC64 special sections
PPC64 has several special sections that are intended to be accessed from the TOC base pointer. When a .got is present, the TOC base pointer is .got + 0x8000 (as specified by the ABI). Furthermore, the glibc startup code contains an assumption that a 16-bit relocation can hold the offset from the TOC base value to the beginning of the .toc section. Thus, we need to make sure that .toc appears after .got. This much, at least, is required in practice. The other PPC64 special sections (.toc, .toc1, .opd, etc.) should also be close by to optimize access by smaller TOC-base-pointer offsets. llvm-svn: 250100
Diffstat (limited to 'lld/ELF/LinkerScript.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud