This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Patch(?): binutils-2.11.90.0.6/ld/ldlang.c fix to resolve undefined DT_NEEDED symbols
- To: "Adam J. Richter" <adam at yggdrasil dot com>
- Subject: Re: Patch(?): binutils-2.11.90.0.6/ld/ldlang.c fix to resolve undefined DT_NEEDED symbols
- From: "H . J . Lu" <hjl at lucon dot org>
- Date: Tue, 1 May 2001 08:01:49 -0700
- Cc: binutils at sourceware dot cygnus dot com
- References: <200105010749.AAA02110@baldur.yggdrasil.com>
On Tue, May 01, 2001 at 12:49:42AM -0700, Adam J. Richter wrote:
>
> Oops! I spoke too soon. When I tried your gcc patch, I rebuilt
> ld (without my change), gcc (with your change), gpm and bash (failed to
> link as before), but I did not rebuild ncurses (since the undefined
> symbol was in libgpm). However, now I have rebuilt ncurses with the
> modified gcc and that seems to have made the problem go away. I
> don't know why, but I notice that the undefined reference to
> atexit in ncurses no longer has version information in it.
>
> Before, objdump --dynamic-sym /usr/lib/libcurses.so had this line:
>
> 00000000 DF *UND* 00000048 GLIBC_2.1.3 __cxa_atexit
>
> After your change, it had this line:
>
> 00000000 D *UND* 00000000 atexit
>
It doesn't look right. I got
# objdump --dynamic-sym /usr/lib/libcurses.so | grep atexit
0000000000000000 DF *UND* 0000000000000034 GLIBC_2.0 atexit
You need to find out why the reference to atexit is not versioned.
H.J.