This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: Improve end check on rs6000 prologue analyzer
- From: Daniel Jacobowitz <drow at false dot org>
- To: Mark Kettenis <mark dot kettenis at xs4all dot nl>
- Cc: gdb-patches at sourceware dot org
- Date: Mon, 12 Mar 2007 08:18:43 -0400
- Subject: Re: Improve end check on rs6000 prologue analyzer
- References: <20060929213726.GA1770@nevyn.them.org> <200609301932.k8UJW0kw030997@elgar.sibelius.xs4all.nl> <20061017212114.GC12643@nevyn.them.org> <200610181958.k9IJw88G009044@elgar.sibelius.xs4all.nl> <20070309150504.GA5166@caradoc.them.org> <200703111913.l2BJDEhC006601@brahms.sibelius.xs4all.nl>
On Sun, Mar 11, 2007 at 08:13:14PM +0100, Mark Kettenis wrote:
> Here's a diff of gdb.sum without and with your diff (testsuite with
> your diff). The gdb.base/attach.exp failure is "normal"; the result
> of that test flips between PASS and FAIL. As you can see, there are
> still "odd location failures". Here is an excerpt from gdb.log for one:
>
> (gdb) list
> 134 char *ttyarg = NULL;
> (gdb) step
> 120 {
> (gdb) PASS: gdb.gdb/selftest.exp: step over ttyarg initialization
> list
> 120 {
> (gdb) FAIL: gdb.gdb/selftest.exp: step over ttyarg initialization ended up at odd location
> step
> 133 char *cdarg = NULL;
> (gdb) PASS: gdb.gdb/selftest.exp: step over ttyarg initialization
>
> This looks as pretty acceptable behaviour. The initializations have
> been moved into the prologue so while stepping over the
> initializations, we hop back and forth. I'm willing to accept this as
> a testsuite problem ;-).
Me too. But one thing is really puzzling! We're testing the result
of "list" here. The huge gdb_expect includes these two:
-re "\[0-9\]*\t\{\r\n$gdb_prompt $" {
set description "step over initial brace"
set command "step"
}
-re "\[ \t\]+\{\r\n$gdb_prompt $" {
setup_xfail "mips-*-irix5*"
fail "$description ended up at odd location"
}
I would the first one to match. It does plenty of times in my
selftest.exp run. The only way I can imagine for that second pattern
to match would be for <space>{, but there shouldn't be a space there,
just a tab - it comes from print_source_lines_base. Any idea what
happened?
If you'd like me to beat the testcase into submission, please run
"runtest --debug selftest.exp" and send me the dbg.log it generates;
that will include every pattern matching attempt. Or, if you don't
care, I can just check it in and we can worry about it later.
Whichever you prefer :-)
--
Daniel Jacobowitz
CodeSourcery