This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: fix ppc32 -msecure-plt TLS relaxation GD->LE
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Wed, 15 Mar 2006 13:02:29 +1030
- Subject: Re: fix ppc32 -msecure-plt TLS relaxation GD->LE
- References: <ord5gvq9kx.fsf@free.oliva.athome.lsd.ic.unicamp.br>
On Fri, Mar 10, 2006 at 12:09:50AM -0300, Alexandre Oliva wrote:
> 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?
OK, thanks! As you say, the GD->IE R_PPC_NONE addend doesn't matter,
but I think it would be nicer to zero the addend. Please make that
change too.
--
Alan Modra
IBM OzLabs - Linux Technology Centre