This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: glibc 2.3 not binary compatible with glibc-2.2.5


On Sat, Oct 05, 2002 at 07:58:48AM -0700, Christoph Lameter wrote:
> > miscompiled.  You'll have to provide more information since I for sure
> > cannot reproduce any such problem.
> 
> Here is the end of the output of LD_DEBUG=all (run by overriding all the
> paths to point to a local subdir so that it does not wreck my system
> again):
> 
> 00785:  binding file /home/christoph/t/lib/libpthread.so.0 to
> /home/christoph/t/lib/libc.so.6: normal symbol `sigemptyset' [GLIBC_2.0]
> 00785:  symbol=memset;  lookup in file=/bin/tar
> 00785:  symbol=memset;  lookup in file=/home/christoph/t/lib/librt.so.1
> 00785:  symbol=memset;  lookup in file=/home/christoph/t/lib/libc.so.6
> 00785:  binding file /home/christoph/t/lib/libc.so.6 to
> /home/christoph/t/lib/libc.so.6: normal symbol `memset' [GLIBC_2.0]
> 00785:  symbol=__libc_sigaction;  lookup in file=/bin/tar
> 00785:  symbol=__libc_sigaction;  lookup in
> file=/home/christoph/t/lib/librt.so.1
> 00785:  symbol=__libc_sigaction;  lookup in
> file=/home/christoph/t/lib/libc.so.6
> 00785:  binding file /home/christoph/t/lib/libpthread.so.0 to
> /home/christoph/t/lib/libc.so.6: normal symbol `__libc_sigaction'
> [GLIBC_PRIVATE]
> 00785:  symbol=__errno_location;  lookup in file=/bin/tar
> 00785:  symbol=__errno_location;  lookup in
> file=/home/christoph/t/lib/librt.so.1
> 00785:  symbol=__errno_location;  lookup in
> file=/home/christoph/t/lib/libc.so.6
> 00785:  symbol=__errno_location;  lookup in
> file=/home/christoph/t/lib/libpthread.so.0
> 00785:  binding file /home/christoph/t/lib/libc.so.6 to
> /home/christoph/t/lib/libpthread.so.0: normal symbol `__errno_location'
> [GLIBC_2.0]
> Segmentation fault
> 
> just with LD_DEBUG=libs:
> 
> k2-400:/home/christoph/t# lib/ld-linux.so.2 /bin/tar
> 00795:  find library=librt.so.1; searching
> 00795:   search
> path=/home/christoph/t/lib/i586/mmx:/home/christoph/t/lib/i586:/home/christoph/t/lib/mmx:/home/christoph/t/lib:/home/christoph/t/usr/lib/i586/mmx:/home/christoph/t/usr/lib/i586:/home/christoph/t/usr/lib/mmx:/home/christoph/t/usr/lib
> (LD_LIBRARY_PATH)
> 00795:    trying file=/home/christoph/t/lib/i586/mmx/librt.so.1
> 00795:    trying file=/home/christoph/t/lib/i586/librt.so.1
> 00795:    trying file=/home/christoph/t/lib/mmx/librt.so.1
> 00795:    trying file=/home/christoph/t/lib/librt.so.1
> 00795:
> 00795:  find library=libc.so.6; searching
> 00795:   search
> path=/home/christoph/t/lib:/home/christoph/t/usr/lib/i586/mmx:/home/christoph/t/usr/lib/i586:/home/christoph/t/usr/lib/mmx:/home/christoph/t/usr/lib
> (LD_LIBRARY_PATH)
> 00795:    trying file=/home/christoph/t/lib/libc.so.6
> 00795:
> 00795:  find library=libpthread.so.0; searching
> 00795:   search
> path=/home/christoph/t/lib:/home/christoph/t/usr/lib/i586/mmx:/home/christoph/t/usr/lib/i586:/home/christoph/t/usr/lib/mmx:/home/christoph/t/usr/lib
> (LD_LIBRARY_PATH)
> 00795:    trying file=/home/christoph/t/lib/libpthread.so.0
> 00795:
> 00795:
> 00795:  calling init: /home/christoph/t/lib/libpthread.so.0
> 00795:
> Segmentation fault
> 
> How can I convince gdb to use another /lib/ld-linux.so.2 for loading?

You can't... the easiest way to do this in my experience is to run
gdbserver :PORT /home/christoph/t/lib/ld.so.1 /bin/ls
and connect with a GDB that has /bin/ls loaded.  You'll also need a
solib-absolute-prefix setting so that GDB loads the right ld.so.1.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]