This is the mail archive of the binutils@sources.redhat.com 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: [PATCH] Bug-compatibility with Sol* ld.so


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


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