versioned symbols question

Daniel Jacobowitz drow+@cs.cmu.edu
Sat Nov 14 12:03:00 GMT 1998


What is the meaning of a versioned symbol appearing in parentheses in
objdump -T output?

dlopen() has gone from this:
000010c0 g    DF .text  0000004c  GLIBC_2.0   dlopen

to this:
00001960 g    DF .text  00000064 (GLIBC_2.0)  dlopen
000010ac g    DF .text  0000004c  GLIBC_2.1   dlopen

and as a side result, any attempt to compile with a shared library
containing dlopen() seems to fail:

2.1:~$ gcc -o stest -lgmodule stest.c -lglib
/usr/bin/../lib/libgmodule.so: undefined reference to `dlopen@@GLIBC_2.0'

Is this a message that all libraries using dlopen() need to be rebuilt
now?  Why?

Dan



More information about the Libc-hacker mailing list