This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Recent mipsel-linux-gnu breakge
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Richard Sandiford <rsandifo at redhat dot com>
- Cc: binutils at sources dot redhat dot com, seufer at csv dot ica dot uni-stuttgart dot de
- Date: Thu, 29 Jan 2004 10:29:31 -0500
- Subject: Re: Recent mipsel-linux-gnu breakge
- References: <wvn4r2c3uqp.fsf@talisman.cambridge.redhat.com>
On Fri, Jun 27, 2003 at 07:22:22AM +0100, Richard Sandiford wrote:
> Thiemo,
>
> This patch:
>
> http://sources.redhat.com/ml/binutils/2003-06/msg00374.html
>
> reduced the .got alignment from 16 to 4, but unfortunately the 16-byte
> assumption is hard-coded into the ld scripts:
>
> OTHER_GOT_SYMBOLS='
> _gp = ALIGN(16) + 0x7ff0;
> '
>
> The stubs generated by elfxx-mips.c assume that _gp = .got + 0x7ff0:
>
> #define STUB_LW(abfd) \
> ((ABI_64_P (abfd) \
> ? 0xdf998010 /* ld t9,0x8010(gp) */ \
> : 0x8f998010)) /* lw t9,0x8010(gp) */
>
> but that no longer holds: _gp can be anywhere between .got + 0x7ff0
> and .got + 0x7ffc. This has broken mipsel-linux-gnu.
>
> One possible fix is to change ALIGN (16) to ALIGN (4) in the ld scripts.
> But I'm worried that people will have created custom scripts based off
> the default ones. This definitely seems to be a user-visible change.
> And it might seems like a gratuitous one in some eyes ;)
>
> Would it be OK to go back to 16-byte .got alignment?
Was anything ever decided about this? I don't see a fix in my
archives, but mipsel-linux doesn't appear to be broken either.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer