This is the mail archive of the gdb@sourceware.org mailing list for the GDB 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] |
- What does 'ldd /path/to/app' say? - What does 'nm /path/to/libpthread.so.0 | grep _version' say (where /path/to/libpthread.so.0 is the one which ldd prints)?
[andrew@fedora-vm ufs]$ ldd /usr/local/bin/ufs2oogl2D linux-gate.so.1 => (0x0012e000) libufs2D-0.9.so.2 => /usr/local/lib/libufs2D-0.9.so.2 (0x0012f000) libgts-0.7.so.5 => /usr/local/lib/libgts-0.7.so.5 (0x001d8000) libgmodule-2.0.so.0 => /lib/libgmodule-2.0.so.0 (0x00228000) libdl.so.2 => /lib/libdl.so.2 (0x0022c000) libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00231000) libm.so.6 => /lib/libm.so.6 (0x00312000) libc.so.6 => /lib/libc.so.6 (0x0033b000) libselinux.so.1 => /lib/libselinux.so.1 (0x004a4000) /lib/ld-linux.so.2 (0x00110000)
Except that libpthread.so.0 is not stripped (on any of the installations).This is most likely result of "pilot error" (stripping libpthread.so.0, or incomplete installation of glibc), and has nothing to do with actual version of GDB.
How do you know that?
Detaching after fork from child process 8745. [Thread debugging using libthread_db enabled] Error while reading shared library symbols: Cannot find new threads: generic error Cannot find new threads: generic error (gdb) info share From To Syms Read Shared Object Library 0x00110810 0x0012724f Yes /lib/ld-linux.so.2 0x0013ef00 0x001ca5d8 Yes /usr/local/lib/libufs2D-0.9.so.2 0x001dfb80 0x00221638 Yes /usr/local/lib/libgts-0.7.so.5 0x00228c50 0x00229cc8 Yes /lib/libgmodule-2.0.so.0 0x0022ca60 0x0022da68 Yes /lib/libdl.so.2 0x002401f0 0x002bf4d8 Yes /lib/libglib-2.0.so.0 0x00315420 0x0032fe48 Yes /lib/libm.so.6 0x003513b0 0x0045dc88 Yes /lib/libc.so.6 0x004a7bb0 0x004b7ce8 Yes /lib/libselinux.so.1 0x004c0430 0x004c05a8 Yes /tmp/gfsZ54KNU 0x004c2f50 0x004c4748 Yes /lib/libgthread-2.0.so.0 0x004c8940 0x004cd088 Yes /lib/librt.so.1 0x004d51f0 0x004e0b58 No /lib/libpthread.so.0 (gdb) share Symbols already loaded for /lib/ld-linux.so.2 Symbols already loaded for /usr/local/lib/libufs2D-0.9.so.2 Symbols already loaded for /usr/local/lib/libgts-0.7.so.5 Symbols already loaded for /lib/libgmodule-2.0.so.0 Symbols already loaded for /lib/libdl.so.2 Symbols already loaded for /lib/libglib-2.0.so.0 Symbols already loaded for /lib/libm.so.6 Symbols already loaded for /lib/libc.so.6 Symbols already loaded for /lib/libselinux.so.1 Symbols already loaded for /tmp/gfsZ54KNU Symbols already loaded for /lib/libgthread-2.0.so.0 Symbols already loaded for /lib/librt.so.1 Loaded symbols for /lib/libpthread.so.0 (gdb) info share From To Syms Read Shared Object Library 0x00110810 0x0012724f Yes /lib/ld-linux.so.2 0x0013ef00 0x001ca5d8 Yes /usr/local/lib/libufs2D-0.9.so.2 0x001dfb80 0x00221638 Yes /usr/local/lib/libgts-0.7.so.5 0x00228c50 0x00229cc8 Yes /lib/libgmodule-2.0.so.0 0x0022ca60 0x0022da68 Yes /lib/libdl.so.2 0x002401f0 0x002bf4d8 Yes /lib/libglib-2.0.so.0 0x00315420 0x0032fe48 Yes /lib/libm.so.6 0x003513b0 0x0045dc88 Yes /lib/libc.so.6 0x004a7bb0 0x004b7ce8 Yes /lib/libselinux.so.1 0x004c0430 0x004c05a8 Yes /tmp/gfsZ54KNU 0x004c2f50 0x004c4748 Yes /lib/libgthread-2.0.so.0 0x004c8940 0x004cd088 Yes /lib/librt.so.1 0x004d51f0 0x004e0b58 Yes /lib/libpthread.so.0 (gdb) run -T "rho" < UAM10_002_UFS-005000.sim > test.plt The program being debugged has been started already. Start it from the beginning? (y or n) y
Detaching after fork from child process 8775. [Thread debugging using libthread_db enabled] Error while reading shared library symbols: Cannot find new threads: generic error Cannot find new threads: generic error (gdb) info share From To Syms Read Shared Object Library 0x00110810 0x0012724f Yes /lib/ld-linux.so.2 0x0013ef00 0x001ca5d8 Yes /usr/local/lib/libufs2D-0.9.so.2 0x001dfb80 0x00221638 Yes /usr/local/lib/libgts-0.7.so.5 0x00228c50 0x00229cc8 Yes /lib/libgmodule-2.0.so.0 0x0022ca60 0x0022da68 Yes /lib/libdl.so.2 0x002401f0 0x002bf4d8 Yes /lib/libglib-2.0.so.0 0x00315420 0x0032fe48 Yes /lib/libm.so.6 0x003513b0 0x0045dc88 Yes /lib/libc.so.6 0x004a7bb0 0x004b7ce8 Yes /lib/libselinux.so.1 0x004c0430 0x004c05a8 Yes /tmp/gfsZ54KNU 0x004c2f50 0x004c4748 Yes /lib/libgthread-2.0.so.0 0x004c8940 0x004cd088 Yes /lib/librt.so.1 0x004d51f0 0x004e0b58 No /lib/libpthread.so.0
I have a fresh out-of-the-box installation of Fedora 9 for x86_64. Here is what I see:
$ cat t.c #include <pthread.h>
void *fn(void *p) { char *cp = (char *)p; cp[0] = 'a'; return p; }
int main() { pthread_t tid; pthread_create(&tid, 0, fn, 0); pthread_join(tid, 0); return 0; }
$ gcc -g -pthread t.c && gdb ./a.out GNU gdb Fedora (6.8-1.fc9) Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu"... (gdb) run Starting program: a.out [Thread debugging using libthread_db enabled] [New Thread 0x7ff617b6c6f0 (LWP 2907)] [New Thread 0x42533950 (LWP 2910)]
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x42533950 (LWP 2910)] 0x0000000000400590 in fn (p=0x0) at t.c:6 6 cp[0] = 'a'; Missing separate debuginfos, use: debuginfo-install glibc.x86_64 (gdb) info thread * 2 Thread 0x42533950 (LWP 2910) 0x0000000000400590 in fn (p=0x0) at t.c:6 1 Thread 0x7ff617b6c6f0 (LWP 2907) 0x0000003c9f807b75 in pthread_join () from /lib64/libpthread.so.0 (gdb) quit The program is running. Exit anyway? (y or n) y
$ rpm -qf /lib64/libpthread.so.0 /lib64/libthread_db.so.1 glibc-2.8-3.x86_64 glibc-2.8-3.x86_64
I did 'debuginfo-install glibc.x86_64' just to check if that makes any difference... It didn't:
(gdb) run Starting program: /root/a.out [Thread debugging using libthread_db enabled] [New Thread 0x7f7e9e9ce6f0 (LWP 2948)] [New Thread 0x426f2950 (LWP 2951)]
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x426f2950 (LWP 2951)] 0x0000000000400590 in fn (p=0x0) at t.c:6 6 cp[0] = 'a'; (gdb) inf thread * 2 Thread 0x426f2950 (LWP 2951) 0x0000000000400590 in fn (p=0x0) at t.c:6 1 Thread 0x7f7e9e9ce6f0 (LWP 2948) 0x0000003c9f807b75 in pthread_join (threadid=<value optimized out>, thread_return=<value optimized out>) at pthread_join.c:89 (gdb)
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |