This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: How does solib handline shared library unloads?
- From: Mark Kettenis <mark dot kettenis at xs4all dot nl>
- To: me at cgf dot cx
- Cc: gdb at sourceware dot org
- Date: Tue, 1 Nov 2005 07:58:35 +0100 (CET)
- Subject: Re: How does solib handline shared library unloads?
- References: <20051101053934.GA15899@trixie.casa.cgf.cx>
> Date: Tue, 1 Nov 2005 00:39:34 -0500
> From: Christopher Faylor <me@cgf.cx>
>
> Can anyone enlighten me as to how information about a library is
> relinquished when a library loaded via dlopen is unloaded via dlclose?
> Theoretically, the information about the library should be removed and
> the library should not be listed by "info sharedlibrary".
>
> I don't see any way for this to be handled in solib.c and inf*.c but I'm
> sure I'm just missing something obvious. I haven't written a test case
> yet to see how it is being handled but I was hoping someone could
> clarify this for me.
It happens as part of solib_add(), which should be called for every
shared library events, not just dlopen()s. See the code in
update_solib_list() for the code that actually removes libraries from
GDB's internal list.
That said, I think I have convinced myself in the past that there is a
big gaping memory leak.
Mark