Bugs in recent snapshots on Solaris
Richard Henderson
rth@cygnus.com
Fri Mar 20 02:30: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.
Sorry about that.
r~
More information about the Bfd
mailing list