This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] Fix for searching for data symbols
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Michael Snyder <msnyder at redhat dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Sat, 19 Jan 2002 13:05:06 -0500
- Subject: Re: [RFA] Fix for searching for data symbols
- References: <20020119123318.A1378@nevyn.them.org> <3C49B256.3B38@redhat.com>
On Sat, Jan 19, 2002 at 09:52:22AM -0800, Michael Snyder wrote:
> Daniel Jacobowitz wrote:
> >
> > This patch fixes the problem I described in:
> > http://sources.redhat.com/ml/gdb/2002-01/msg00223.html
> >
> > Basically, since we use the bounds of the text segment to search for symbols
> > in find_pc_*, don't let them return a bogus answer for a symbol we know is
> > off in data land.
> >
> > OK to commit, or does anyone prefer a different approach to this?
>
> Is there any chance that a data symbol that we don't want
> would shadow a text symbol that we do want? Eg. maybe in
> one module we have
> static int foo;
> and in another we have
> extern int foo(void);
> Maybe they are even in separate objfiles (shared libs).
> Maybe lookup_minimal_symbol will find the wrong one first,
> and your change will terminate the search before we would
> have found the right one?
>
> Just speculating...
Well, we aren't using lookup_minimal_symbol; we're using
lookup_minimal_symbol_by_pc_section. I don't think it's possible for
it to get the wrong one, since it's by address instead of by name.
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer