This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]