This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[PATCH RFA] gdb.base/finish.exp: Allow finish to stop on call
- To: gdb-patches at sources dot redhat dot com
- Subject: [PATCH RFA] gdb.base/finish.exp: Allow finish to stop on call
- From: Kevin Buettner <kevinb at cygnus dot com>
- Date: Fri, 18 May 2001 17:38:33 -0700
On the IA-64, a "finish" won't stop us at the statement after the call
due to the fact that the "call" instruction isn't the last instruction
in the call sequence. (The global pointer still needs to be reset.)
The patch below tweaks the finish_void test to allow for this
eventuality.
Okay to commit?
* gdb.base/finish.exp (finish_void): Allow "finish" command to
stop on the call statement as well as the statement after the
call.
Index: testsuite/gdb.base/finish.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/finish.exp,v
retrieving revision 1.3
diff -u -p -r1.3 finish.exp
--- finish.exp 2001/03/06 08:21:50 1.3
+++ finish.exp 2001/05/19 00:27:32
@@ -77,8 +77,15 @@ proc finish_void { } {
gdb_test "continue" "Breakpoint.* void_func.*" \
"continue to void_func"
send_gdb "finish\n"
+ # Some architectures will have one or more instructions after the
+ # call instruction which still is part of the call sequence, so we
+ # must be prepared for a "finish" to show us the void_func call
+ # again as well as the statement after.
gdb_expect {
-re ".*void_checkpoint.*$gdb_prompt $" {
+ pass "finish from void_func"
+ }
+ -re ".*call to void_func.*$gdb_prompt $" {
pass "finish from void_func"
}
-re ".*$gdb_prompt $" {