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: gcc HEAD moves line number directives -- gcc bug?

drow> our testsuite certainly must accept returning to
drow> both line 23 and 24.  There are a number of architecures where a
drow> function call includes instructions after the return (stack adjustment,
drow> $gp reload...).

I didn't think of that.  You are right.  This is a bug in the test
script, independent of whether the compiler has a bug too.

In fact, even on x86, a "call" instruction might or might not
be followed by "add %esp, $N" to pop a arguments.  We had a similar
bug in gdb.base/advance.exp earlier this year.  Mumble grep ...

  2003-02-01  Michael Chastain  <>

        * gdb.base/advance.c (marker1): New marker function.
        * gdb.base/advance.exp: When the 'advance' command lands on the
        return breakpoint, it can legitimately stop on either the
        current line or the next line.  Accommodate both outcomes.
        * gdb.base/until.exp: Likewise.

So I will submit a patch to fix gdb.mi/mi*-until.exp.

> Line 24 is the addl.  The leal is generated probably in reload; it's
> not really part of any line, even though it was generated for line 24.

Okay, then I won't file a gcc PR about the 'leal' insn moving up from line 24
to line 23.  I'm still kinda wary and sensitive about it though.

There are about a dozen gdb regressions from gcc 3.3.1 to gcc HEAD
with -gdwarf-2, and a lot more with -gstabs+ due to gcc/12066.
I'll keep grinding them.


Michael C

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