From 8216cda9b44352ed26e93c32fb24642b6283b9da Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Sat, 13 May 2000 01:38:05 +0000 Subject: [PATCH] For IA-64, allow ``finish'' to land on caller rather than on next executable line after the caller. --- gdb/testsuite/ChangeLog | 7 +++++++ gdb/testsuite/gdb.base/step-test.exp | 12 ++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 0ac6256b04..d2248a1ab0 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2000-05-12 Kevin Buettner + + * gdb.base/step-test.exp: On IA-64 targets, when stepping out of + a call, do not require that gdb stop on the line after the call. + Instead, it is permissible for gdb to stop on the line of the + call itself. + 2000-05-08 Michael Snyder * gdb.base/interrupt.exp: Make "pass" message say "send" diff --git a/gdb/testsuite/gdb.base/step-test.exp b/gdb/testsuite/gdb.base/step-test.exp index 47d4572e91..652192a490 100644 --- a/gdb/testsuite/gdb.base/step-test.exp +++ b/gdb/testsuite/gdb.base/step-test.exp @@ -75,8 +75,10 @@ gdb_test "step" ".*${decimal}.*myglob.*" "step into" # instruction, which is attributed to the line containing the function # call? -# On PA64 we end up at a different instruction than PA32 -if { [istarget "hppa2.0w-hp-hpux*"] } { +# On PA64, we end up at a different instruction than PA32. +# On IA-64, we also end up on callee instead of on the next line due +# to the restoration of the global pointer (which is a caller-save). +if { [istarget "hppa2.0w-hp-hpux*"] || [istarget "ia64-*-*"]} { send_gdb "finish\n" gdb_expect { -re ".*${decimal}.*a.*5.*= a.*3.*$gdb_prompt $" { pass "step out 1" } @@ -171,8 +173,10 @@ gdb_expect { pass "stepi: finish call" } -re ".*${decimal}.*callee.*STEPI.*$gdb_prompt $" { - # On PA64 we end up at a different instruction than PA32 - if { [istarget "hppa2.0w-hp-hpux*"] } { + # On PA64, we end up at a different instruction than PA32. + # On IA-64, we end up on callee instead of on the following line due + # to the restoration of the global pointer. + if { [istarget "hppa2.0w-hp-hpux*"] || [istarget "ia64-*-*"] } { pass "stepi: finish call 2" } else { fail "stepi: finish call 2"