This is the mail archive of the
gdb-patches@sourceware.cygnus.com
mailing list for the GDB project.
Re: A revised patch for dlclose
- To: hjl at valinux dot com
- Subject: Re: A revised patch for dlclose
- From: Mark Kettenis <kettenis at wins dot uva dot nl>
- Date: Wed, 8 Mar 2000 01:58:42 +0100
- CC: gdb-patches at sourceware dot cygnus dot com, gdb at sourceware dot cygnus dot com
- References: <20000307120800.A27315@valinux.com>
Date: Tue, 7 Mar 2000 12:08:00 -0800
From: "H . J . Lu" <hjl@valinux.com>
Here is a revised patch for dlclose. If you take a look at the
dynamic linker in glibc 2.1 or above, you will find that it informs
gdb about loading/unloading a shared library via an internal debug
function, _dl_debug_state (). gdb already handles the loading in
handle_inferior_event () with BPSTAT_WHAT_CHECK_SHLIBS and
BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK. However, we need also
check the unloading event. solib_verify () will be called only when the
dynamic linker calls _dl_debug_state (). It shouldn't introduce any
overhead. I believe it is on the right track although it may be further
optimized.
HJ, please stop wasting your time pushing this patch. The patch has
several bad points, that you cannot fix without considerable changes
to the way solib.c handles and caches the link map.
Mark