[Bug 914448] Re: libc6-dbg puts ld-2.X.so into wrong location
Ppluzhnikov-google
914448 at bugs.launchpad.net
Tue Jan 10 20:30:46 UTC 2012
GDB bug:
http://sourceware.org/bugzilla/show_bug.cgi?id=9538
** Bug watch added: Sourceware.org Bugzilla #9538
http://sourceware.org/bugzilla/show_bug.cgi?id=9538
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to eglibc in Ubuntu.
https://bugs.launchpad.net/bugs/914448
Title:
libc6-dbg puts ld-2.X.so into wrong location
Status in “eglibc” package in Ubuntu:
New
Bug description:
Using libc6_2.13-24ubuntu2_amd64.deb with
libc6-dbg_2.13-24ubuntu2_amd64.deb,
gdb -q /bin/date
Reading symbols from /bin/date...done.
(gdb) set stop-on-solib-events 1
(gdb) run
Starting program: /bin/date
Stopped due to shared library event
(gdb) bt
#0 0x00007ffff7deb300 in _dl_debug_state () from /lib64/ld-linux-x86-64.so.2
#1 0x00007ffff7ddf386 in ?? () from /lib64/ld-linux-x86-64.so.2
#2 0x00007ffff7df1014 in ?? () from /lib64/ld-linux-x86-64.so.2
#3 0x00007ffff7de118f in ?? () from /lib64/ld-linux-x86-64.so.2
#4 0x00007ffff7ddd5b8 in ?? () from /lib64/ld-linux-x86-64.so.2
#5 0x0000000000000001 in ?? ()
#6 0x00007fffffffe7bc in ?? ()
#7 0x0000000000000000 in ?? ()
(gdb) quit
Note lack of debug symbols for /lib64/ld-linux-x86-64.so.2
The problem is that /lib64/ld-linux-x86-64.so.2 has .gnu_debuglink of
"ld-2.13.so".
This means that GDB will look for /usr/lib/debug/lib64/ld-2.13.so (not present)
and will not look for /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.13.so (which is present).
strace confirms that:
grep 'ld-2.13.so"' /tmp/strace.out
open("/lib64/ld-2.13.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib64/.debug/ld-2.13.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/debug//lib64/ld-2.13.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/debug/lib64/ld-2.13.so", O_RDONLY) = -1 ENOENT (No such file or directory)
readlink("/lib64/ld-linux-x86-64.so.2", "/lib/x86_64-linux-gnu/ld-2.13.so"..., 4095) = 32
lstat("/lib/x86_64-linux-gnu/ld-2.13.so", {st_mode=S_IFREG|0755, st_size=141088, ...}) = 0
Arguably, GDB should do readlink("/lib64/ld-linux-x86-64.so.2"), and look for
the real path name as well. If GDB did that, it would have worked.
But for now, libc6-dbg should probably provide a symlink from
/usr/lib/debug/lib64/ld-2.13.so to /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.13.so
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/914448/+subscriptions
More information about the foundations-bugs
mailing list