This is the mail archive of the
gdb@sourceware.cygnus.com
mailing list for the GDB project.
Re: More than one stabn for the same PC
- To: Mark Mitchell <mark at codesourcery dot com>
- Subject: Re: More than one stabn for the same PC
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Tue, 30 Nov 1999 00:07:18 -0700
- cc: gdb at sourceware dot cygnus dot com, gcc at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
In message <19991129223717L.mitchell@codesourcery.com>you write:
> >>>>> "Jeffrey" == Jeffrey A Law <law@cygnus.com> writes:
>
> Jeffrey> Though I am curious, how does this happen?
>
> We tend to do this with inlining. (We're doing it more with
> inlining-on-trees, but we used to do it anyhow.) Consider:
>
> int i;
> inline int f () {
> i = 3;
> }
> void g() {
> f();
> }
>
> In `g' we first emit a line note for the line with the curly brace for
> `g', then emit a line note for the line with `i = 3' in it. I think
> that's roughly the right thing, but the debugger gets confused.
Looking at that I'd claim only one of the line notes should exist (probably
the one of the "i = 3" statement.
But it may be the case that our opinions about what constitutes sane debugging
information for inline function calls differs.
jeff