Re: [PATCH RFA] gdb.base/finish.exp: Allow finish to stop on call

Michael Snyder
2001-05-18T18:24:00Z

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 $" {