This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH RFA] gdb.base/finish.exp: Allow finish to stop on call
- To: Fernando Nasser <fnasser at redhat dot com>
- Subject: Re: [PATCH RFA] gdb.base/finish.exp: Allow finish to stop on call
- From: Kevin Buettner <kevinb at cygnus dot com>
- Date: Wed, 23 May 2001 18:37:28 -0700
- Cc: gdb-patches at sources dot redhat dot com
- References: <1010519003833.ZM16512@ocotillo.lan> <3B0C5364.11326C70@redhat.com>
On May 23, 8:18pm, Fernando Nasser wrote:
> Your second pattern needs a small improvement though. As we are
> returning to the middle of that source line, the information printed by
> GDB will have the address (PC) as well. We must make sure that we test
> for that so we can differentiate between returning to the beginning of
> the calling line (wrong) and returning to after where the assembler jump
> to subroutine was (right). You can test for that without binding to a
> specific PC value -- there are several examples around.
>
> After making this change, and testing that it works, of course, you can
> commit your patch. Please post the final version for the records.
The patch you refer to has already been committed. (Michael S. approved
it.)
I do agree that it is worthwhile to make the pattern more restrictive
and have just committed the patch below. I've tested it on the IA-64
machine where I was previously seeing a failure. (It still works as
expected.)
* gdb.base/finish.exp (finish_void): Revise pattern for
stopping on the call statement to not permit stopping at
the start of the instructions comprising the call sequence.
Index: testsuite/gdb.base/finish.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/finish.exp,v
retrieving revision 1.4
diff -u -p -r1.4 finish.exp
--- finish.exp 2001/05/22 00:25:27 1.4
+++ finish.exp 2001/05/24 00:59:25
@@ -85,7 +85,7 @@ proc finish_void { } {
-re ".*void_checkpoint.*$gdb_prompt $" {
pass "finish from void_func"
}
- -re ".*call to void_func.*$gdb_prompt $" {
+ -re "0x\[0-9a-fA-F\]+ in main.*call to void_func.*$gdb_prompt $" {
pass "finish from void_func"
}
-re ".*$gdb_prompt $" {