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: Kevin Buettner <kevinb at cygnus dot com>
- Subject: Re: [PATCH RFA] gdb.base/finish.exp: Allow finish to stop on call
- From: Michael Snyder <msnyder at cygnus dot com>
- Date: Fri, 18 May 2001 18:24:42 -0700
- CC: gdb-patches at sources dot redhat dot com
- Organization: Red Hat
- References: <1010519003833.ZM16512@ocotillo.lan>
Kevin Buettner wrote:
>
> 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?
Yes, this is fine. Thanks Kevin.
> * 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 $" {