This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [arm] Don't "adjust" EABI relocations
On Tue, Nov 30, 2004 at 04:46:29PM +0000, Richard Earnshaw wrote:
> On Tue, 2004-11-30 at 15:52, Paul Brook wrote:
> > The patch below prevents the linker applying the 8-byte pc offset adjustment
> > to relocations in new eabi objects. These can have an EI_OSABI of zero.
> >
> > It's unclear which "old" toolchains get this wrong. Is this the now-dead
> > arm-elf-oabi configuration? If so I'll just rip the whole thing out.
> >
> > Tested cross to arm-none-{elf,eabi} and built --enable-targets=all.
> > Ok?
> >
> > Paul
>
> OK, but I think the whole test can now be removed, since that code was
> really there to support the now deleted 'old' ABI.
Oh that's cute....
There's two copies; one is guarded by:
if ( strcmp (bfd_get_target (input_bfd), "elf32-littlearm-oabi") == 0
|| strcmp (bfd_get_target (input_bfd), "elf32-bigarm-oabi") == 0)
and the other is in the else block of the same if, and checks only
"if (! globals->no_pipeline_knowledge)" and "i_ehdrp->e_ident[EI_OSABI]
== 0". But the only place GNU binutils created binaries with OSABI 0
was in the oabi targets, right?
In that case, the no_pipeline_knowledge setting can be removed. Linux
has passed -p for a while, so the option should probably hang around.
--
Daniel Jacobowitz