[PATCH] Bug-compatibility with Sol* ld.so
Daniel Jacobowitz
drow@mvista.com
Sun Dec 1 08:58:00 GMT 2002
On Thu, Nov 28, 2002 at 12:46:47PM -0800, David O'Brien wrote:
> On Tue, Sep 24, 2002 at 12:09:39PM -0400, Daniel Jacobowitz wrote:
> > How affected is glibc? I.E. will using the new binutils break existing
> > SPARC GNU/Linux installations?
>
> This broke FreeBSD/sparc64 when I upgraded our 2.13 (2002-10-10) Binutils
> to 2.13 (2002-11-27). Until we can modify our code to deal with this
> change, I'd like to back it out of the 2.13 branch for 2.13.2.
No. It was brought in because it fixes a critical bug on Solaris. It's
a behavior change, but it's to match Solaris and GNU/Linux has adapted;
for now either don't upgrade or fix your dynamic linker, please.
>
>
> > > 2002-09-24 Jakub Jelinek <jakub@redhat.com>
> > > * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
> > > R_SPARC_RELATIVE's r_offset.
>
> > > --- bfd/elf64-sparc.c.jj 2002-07-30 16:14:56.000000000 +0200
> > > +++ bfd/elf64-sparc.c 2002-09-24 15:12:21.000000000 +0200
> > > @@ -2727,11 +2727,12 @@ sparc64_elf_finish_dynamic_symbol (outpu
> > > }
> > > else
> > > {
> > > - bfd_put_64 (output_bfd, (bfd_vma) 0, sgot->contents + h->got.offset);
> > > rela.r_info = ELF64_R_INFO (h->dynindx, R_SPARC_GLOB_DAT);
> > > rela.r_addend = 0;
> > > }
> > >
> > > + bfd_put_64 (output_bfd, (bfd_vma) 0,
> > > + sgot->contents + (h->got.offset &~ (bfd_vma) 1));
> > > bfd_elf64_swap_reloca_out (output_bfd, &rela,
> > > ((Elf64_External_Rela *) srela->contents
> > > + srela->reloc_count));
>
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
More information about the Binutils
mailing list