[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ld segfaults, BFD 2.15 assertion fail



I found a patch that's supposed to solve the problem, from here:
http://sources.redhat.com/ml/binutils/2004-09/msg00299.html
which I found from here:
http://sources.redhat.com/bugzilla/show_bug.cgi?id=414

The patched ld no longer segfaults, instead giving:

/usr/bin/gcc -o molmol -I../../tools/include -I../../sg/include -I../../include  -I../../../Mesa-2.4/include -O2 -D_GNU_SOURCE -I/usr/include/GL -I/usr/X11R6/include MolMol.o MolInit.o ../../lib/libcip.a ../../lib/libcmd.a ../../lib/libui.a ../../lib/libgraph.a ../../lib/libio.a ../../lib/libpu.a ../../lib/libcalc.a ../../lib/libprim.a ../../lib/libdata.a ../../lib/libattr.a ../../lib/libfileio.a ../../lib/libos.a ../../sg/lib/libsg.a ../../tools/lib/libtools.a ../../tiff-v3.4/libtiff/libtiff.a ../../../jpeg-6a/libjpeg.a ../../../libpng-0.89c/libpng.a ../../../zlib-1.0.4/libz.a /usr/X11R6/lib/libGLw.a -L../../../Mesa-2.4/lib -L/usr/X11R6/lib -lGL -lGLU -lXm -lXmu -lXt -lXpm -lX11 -lXext -lm -lc -lieee
../../lib/libos.a(GFile.o)(.text+0x67): In function `raiseError':
: warning: `sys_errlist' is deprecated; use `strerror' or `strerror_r' instead
/usr/bin/ld: ): TLS definition in %B section 0X0.0007FBFFFE87P-1022 mismatches non-TLS reference in %B
/lib/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status

So it appears there's a problem with TLS.  I should note that this
problem started happening when libc6 was updated a couple of weeks ago.
I noticed that moved a lot of libraries from /lib/tls to /lib, so it
seems that that's where the real problem is.  When I upgraded to
libc6_2.3.2.ds1-17, running the program gave me the error:

//usr/local/molmol/molmol.lnx: relocation error: //usr/local/molmol/molmol.lnx: symbol errno, version GLIBC_2.2.5 not defined in file libc.so.6 with link time reference

And then I tried to recompile and got the linker error, etc.  I should
note that this binary was not compiled against glibc 2.2.5, but rather
2.3.2.ds1-13.0.0.1, so the error is kind of confusing.

So is there something wrong with libc6 or what?  How can I make this
work?

Thanks,
-ryan



Reply to: