diff options
author | Bill Schmidt <wschmidt@linux.vnet.ibm.com> | 2012-12-14 17:02:38 +0000 |
---|---|---|
committer | Bill Schmidt <wschmidt@linux.vnet.ibm.com> | 2012-12-14 17:02:38 +0000 |
commit | 9f0b4ec0f5c456179803e2674bade8ee5d1f8677 (patch) | |
tree | 9a2d8b15aafe2a883f875a6424ed08e5e2882b4f /clang/lib/Parse/ParseObjc.cpp | |
parent | 6a68a9117b4831c7aaa1248bd956e963e7597802 (diff) | |
download | bcm5719-llvm-9f0b4ec0f5c456179803e2674bade8ee5d1f8677.tar.gz bcm5719-llvm-9f0b4ec0f5c456179803e2674bade8ee5d1f8677.zip |
This patch improves the 64-bit PowerPC InitialExec TLS support by providing
for a wider range of GOT entries that can hold thread-relative offsets.
This matches the behavior of GCC, which was not documented in the PPC64 TLS
ABI. The ABI will be updated with the new code sequence.
Former sequence:
ld 9,x@got@tprel(2)
add 9,9,x@tls
New sequence:
addis 9,2,x@got@tprel@ha
ld 9,x@got@tprel@l(9)
add 9,9,x@tls
Note that a linker optimization exists to transform the new sequence into
the shorter sequence when appropriate, by replacing the addis with a nop
and modifying the base register and relocation type of the ld.
llvm-svn: 170209
Diffstat (limited to 'clang/lib/Parse/ParseObjc.cpp')
0 files changed, 0 insertions, 0 deletions