This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] Testsuite addition for x86 linux GDB and SIGALRM fix
- To: Andrew Cagney <ac131313 at cygnus dot com>
- Subject: Re: [RFA] Testsuite addition for x86 linux GDB and SIGALRM fix
- From: Fernando Nasser <fnasser at cygnus dot com>
- Date: Mon, 09 Jul 2001 17:21:26 -0400
- CC: Mark Kettenis <kettenis at wins dot uva dot nl>, gdb-patches at sourceware dot cygnus dot com, cagney at cygnus dot com
- Organization: Red Hat , Inc. - Toronto
- References: <200005192321.e4JNLEv13368@delius.kettenis.local> <3B3ABD6E.1040304@cygnus.com>
Andrew Cagney wrote:
>
> Anyone?
>
> Andrew
>
> > Here's the test I promised Andrew a while ago for the fix for the
> > problem reported by Jonathan Larmour:
> >
> > http://sourceware.cygnus.com/ml/gdb/2000-q1/msg00803.html
> >
> > The fix has already been checked in, the problem is still mentioned in
> > the TODO file (let's keep it there until this test has been added).
> >
> > I verified that some of these tests (the "stepi" and "nexti" tests)
> > do fail without my fix to infrun.c.
> >
> > I'm not sure to what extent the use of setitimer() is portable.
> > However, it is hard to come up with a test that doesn't use it.
> >
> >
> > 2000-05-20 Mark Kettenis <kettenis@gnu.org>
> >
> > Add tests for stepping with pending signals.
> > * gdb.base/step-alarm.exp: New file.
> > * gdb.base/step-alarm.c: New file.
> >
> >
> > + -re ".*${decimal}.*a.*5.*= a.*3.*$gdb_prompt $" { pass "step out 1" }
> > + -re ".*${decimal}.*callee.*INTO.*$gdb_prompt $" { pass "step out 2" }
These should be just "step out"
> > + fail "Can't run to main"
> > + fail "Can't run to line 57"
> > + pass "stepi: finish call 2"
> > + fail "stepi: finish call 2"
These should just be "stepi: finish call"
W.r.t. the tests for HP and IA64 I sincerely regret that we do not have two commands: "finishi" and "finish". The current behavior of "finish" (stop at the assembler instruction after the call) is very unsettling for someone who is doing source level debugging -- in this case it should, after returning, single step until the end of the sourceline where the call is ("if it is not at the beginning of a source line after the return, single step to the end of it" would do).
Anyway, since we have such weird behavior, I agree that, in this specific case, we can accept both results as there is always a possibility that arbitrary targets will have extra instructions in a source line after the call instruction.
--
Fernando Nasser
Red Hat - Toronto E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9