This is the mail archive of the 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]

Re: gdb and dynamic loader namespaces

[answer to an old email]

On Tue, 2007-01-09 at 08:41 -0500, Daniel Jacobowitz wrote:
> On Tue, Jan 09, 2007 at 08:57:08AM +0100, Mathieu Lacage wrote:
> > The question then is how can we get access to the link_map of each
> > namespace from the parent process ? We could perform a lookup for the
> > rtld_global data structure and then, use an offset from there to get the
> > required data. I suspect you won't be thrilled by that though. Do you
> > have any better idea ? Maybe I should ask this question on a glibc ML: I
> > would be surprised if no one had ever planned debugger support for this
> > feature.
> It may require updating the public members of struct r_debug (and its
> version number).  I would recommend not digging around in rtld_global,
> at least not without talking to the glibc developers first; it's prone
> to changing layout between versions.  You could see what Solaris does,
> if it's in their documentation.

It is in their documentation. As far as I can tell, they use the rtld_db
API (see chapter 6 of the "Linker and Libraries Guide") to access the
underlying data structures. They even provide a version of rtld_db which
works on linux except that it has been hardcoded to deal with only the
main namespace on linux. Being able to fully implement the library would
require intimate access to the glibc data structures. So, I suspect that
the implementation challenge would be:
  - push a rtld_db library in glibc
  - add rtld_db support to gdb


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]