Bugs in recent snapshots on Solaris

H.J. Lu hjl@lucon.org
Fri Mar 20 08:19:00 GMT 1998


> 
> > -      /* If this symbol is not defined in a regular file, and we are
> > -	 not generating a shared library, then set the symbol to this
> > -	 location in the .plt.  This is required to make function
> > -	 pointers compare as equal between the normal executable and
> > -	 the shared library.  */
> > -      if (! info->shared
> > -	  && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
> > -	{
> > -	  h->root.u.def.section = s;
> > -	  h->root.u.def.value = s->_raw_size;
> > -	}
> > +      /* Set the symbol to this location in the .plt.  This is
> > +	 required to make function pointers compare as equal between
> > +	 the normal executable and the shared library.  */
> > +      h->root.u.def.section = s;
> > +      h->root.u.def.value = s->_raw_size;
> 
> This was the offending bit.  The other part is righteous.
> Somewhere I got a bit overeager.
> 

Is that fixed now in the snapshot? I need to make a new binutils for
Linux to get this and an x86 bug fixed.

Thanks.


-- 
H.J. Lu (hjl@gnu.org)



More information about the Bfd mailing list