This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] Find and read symbol files after attach (linux)
- From: Daniel Jacobowitz <dmj+ at andrew dot cmu dot edu>
- To: Michael Snyder <msnyder at redhat dot com>
- Cc: gdb-patches at sources dot redhat dot com, kettenis at science dot uva dot nl, kevinb at redhat dot com
- Date: Tue, 8 Jan 2002 13:31:30 -0500
- Subject: Re: [RFA] Find and read symbol files after attach (linux)
- References: <200201080040.g080e0h29987@reddwarf.cygnus.com> <20020107215957.A9170@nevyn.them.org> <3C3B332E.774C4E2E@redhat.com>
On Tue, Jan 08, 2002 at 09:58:06AM -0800, Michael Snyder wrote:
> Daniel Jacobowitz wrote:
> >
> > On Mon, Jan 07, 2002 at 04:40:00PM -0800, Michael Snyder wrote:
> > > [oops, hit send too soon...]
> > > This change allows GDB to find and read the symbol files (including
> > > all shared libraries) on Linux when you attach to an anonymous PID.
> > > It should work for all Linuxen, but for now I've only added it to the
> > > linux.mh and nm-linux.h files in config/i386. Please feel free to
> > > add it to your targets.
> >
> > [without actually looking at it...]
> >
> > (A) Is there any reason not to do it for all Linuxen in
> > config/nm-linux.h?
>
> Probably can. I was being conservative.
I'd prefer you to do this, then. I believe it will work.
> > (B) Why do we need /proc to do this? We should be able to use the
> > information in the link map - which we already access in solib-svr4.h -
> > to get all of this.
>
> There may be another method of doing it -- I just used the
> method I know (copied from Solaris). We need to discover
> the mapped memory regions so you can find the "debug_base".
> But this isn't one of my strong areas, so you may well know
> a better way to do the same thing.
Well, Mark's comment is completely correct. Eventually I remembered
that this works by looking up data at _DYNAMIC, which means we need the
executable first :)
I believe that we should be able to find the rest of what we need by
the shared library code, without the mappings file, though. I also
thought that this would just 'work'. Have you tried with the code to
find the executable but without the code to find shared libraries?
What happens?
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer