elf32-ppc ld bug with symbol versioning

Roland McGrath roland@redhat.com
Tue Apr 22 23:40:00 GMT 2003


The attached shell archive unpacks a few files and a Makefile that
demonstrates a bug now biting glibc on powerpc-unknown-linux-gnu.
This shows up in mainline of today, as well as other recent versions.

With these files, "make" will give you:

/usr/local/bin/ld: lose.so: undefined versioned symbol name foo@@VERS_1

This boils down to an ld -shared that is resolving against a .so and a .a
with versioned references between them.  The crucial factor is probably
that bar.a(bar.o) has a weak defn of bar that should be in force despite
the presence of a bar symbol in foo.so earlier in the link order.  foo.so's
defn is ignored because it is a versioned defn with @ rather than @@,
but having done that seems to make ld fail to see bar.a(bar.o)'s own defn.


Thanks,
Roland

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: bug.shar
URL: <https://sourceware.org/pipermail/binutils/attachments/20030422/c88e9a1c/attachment.ksh>


More information about the Binutils mailing list