This is the mail archive of the
mailing list for the GDB project.
Re: gcc HEAD moves line number directives -- gcc bug?
- From: Michael Elizabeth Chastain <mec at shout dot net>
- To: drow at mvista dot com, gdb at sources dot redhat dot com
- Date: Mon, 1 Sep 2003 23:28:32 -0400
- Subject: 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 <firstname.lastname@example.org>
* 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.