fix ppc32 -msecure-plt TLS relaxation GD->LE
Alexandre Oliva
aoliva@redhat.com
Fri Mar 10 03:10:00 GMT 2006
Code compiled with -msecure-plt generates calls to __tls_get_addr with
a nonzero addend, that ends up making to the lower part of the TP
offset computed for the TL variable when Global Dynamic is relaxed to
Local Exec. This patch fixes it, by arranging for us to refer to the
same location in both relocations. We already did that for LD->LE,
but not GD->LE. [LG[D->IE cancels out the second relocation, so its
addend doesn't matter, so I left it along even though it's still
conceptually wrong.
Tested on amd64-linux-gnu-x-ppc64-linux-gnu. Ok to install?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: binutils-ppc-TLS-relax-GD-LE.patch
Type: text/x-patch
Size: 1850 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20060310/43a2f73c/attachment.bin>
-------------- next part --------------
--
Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/
Secretary for FSF Latin America http://www.fsfla.org/
Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}
More information about the Binutils
mailing list