diff options
author | Hal Finkel <hfinkel@anl.gov> | 2015-10-12 20:51:48 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2015-10-12 20:51:48 +0000 |
commit | 3bae2d87330f88b4ced7519da1c23f5450db08fd (patch) | |
tree | 585b37decc576abe1adb6d1d7c28a7e379457f62 /lld/ELF/LinkerScript.cpp | |
parent | 7357bbc6c3625153d9c9d49a15e86a3963090c56 (diff) | |
download | bcm5719-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