This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA 4/4 take 2] Improved linker-debugger interface
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Wed, 15 Aug 2012 19:23:46 +0200
- Subject: Re: [RFA 4/4 take 2] Improved linker-debugger interface
- References: <20120719110518.GE16185@redhat.com>
Hi Gary,
(1)
with the current setup IIRC the dlmopen()ed libraries are only shown with live
process but they cannot be shown when loaded from a core file.
This breaks functionality of core files, I believe glibc needs an extension if
it currently cannot be done otherwise.
(2)
solib-svr4.c is current not used by with gdbsrver and its recent
linux_qxfer_libraries_svr4.
Your testcases is skipped if [is_remote target], with the current general goal
to unify linux-nat with gdbserver and drop linux-nat afterwards I do not think
we should accept more patches increasing the linux-nat vs. gdbserver gap.
The testcase should be specifically compatible with gdbserver.
To give the background: solib-svr4.c is more general and it is kept for all
possible corner cases, it also supports more OSes than just GNU/Linux.
Compared to it linux-low.c can be easier, this is why it is reimplemented and
not shared with solib-svr4.c (it could be shared more but it is not).
Therefore maybe your extensions on top of it all are not feasible for
gdb/common/ but they should be at least reimplemented also for linux-low.c
(3)
There is some issue we already discussed off-list, in some cases (Fedora
Rawhide x86_64 with Fedora patched GDB) it breaks on
FAIL: gdb.base/break-dlmopen.exp: info sharedlibrary #5
namespace_update_full(lmid=0x1,debug_base=0x7ffff7ffd0f8,is_initial_ns=0
svr4_read_so_list(lm=0x6020a0,prev_lm=0x0)
lm=0x6020a0={next=0x602670,prev=0x0}
lm=0x602670={next=0x0,prev=0x0}
warning: Corrupted shared library list: 0x6020a0 != 0x0
warning: Probes-based dynamic linker interface failed.
Reverting to original interface.
Thanks,
Jan