gold not finding symbols in ld-linux.so.2

Ian Lance Taylor iant@google.com
Wed Jul 2 16:02:00 GMT 2008


Daniel Jacobowitz <drow@false.org> writes:

> On Wed, Jul 02, 2008 at 07:57:05AM -0700, Ian Lance Taylor wrote:
>> > As far as I can tell, libpthread is just a plain shared library.  "ld
>> > -verbose" reports finding /usr/lib/libpthread.so, which is a symlink
>> > to /lib/libpthread.so.0 which itself is a symlink to
>
> [which is a symlink]

Whoops, sorry, I missed that.

>
>> > /lib/libpthread-0.9.so, which is a ELF 32-bit LSB shared object.  If I
>> > trace the DT_NEEDED attributes, they are exactly as you said:
>> >
>> > $ readelf -d /lib/libpthread-0.9.so | grep NEEDED
>> > 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
>> > $ readelf -d /lib/libc.so.6 | grep NEEDED
>> > 0x00000001 (NEEDED)                     Shared library: [ld-linux.so.2]
>> 
>> You looked at /lib/libpthread-0.9.so, but the linker will never see
>> that under that name.  Look for libpthread.so, without the 0-9.  It
>> may be in /usr/lib.
>
> 0.9 means LinuxThreads - it did not use a GROUP file.

Then we are all still missing something.  gold does not complain about
undefined symbol references in shared libraries.  Why is it
complaining here?

Ian



More information about the Binutils mailing list