This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Recent mipsel-linux-gnu breakge
- From: Thiemo Seufer <ica2_ts at csv dot ica dot uni-stuttgart dot de>
- To: Richard Sandiford <rsandifo at redhat dot com>, binutils at sources dot redhat dot com
- Date: Thu, 29 Jan 2004 17:02:15 +0100
- Subject: Re: Recent mipsel-linux-gnu breakge
- References: <wvn4r2c3uqp.fsf@talisman.cambridge.redhat.com> <20040129152931.GC18176@nevyn.them.org>
Daniel Jacobowitz wrote:
> 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.
>From bfd/ChangeLog-0203:
2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
* elfxx-mips.c: Revert .got alignment to 2**4.
Thiemo