gcc HEAD moves line number directives -- gcc bug?
Michael Elizabeth Chastain
mec@shout.net
Tue Sep 2 03:28:00 GMT 2003
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 <mec@shout.net>
* 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.
Thanks,
Michael C
More information about the Gdb
mailing list