summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/step-test.exp
diff options
context:
space:
mode:
authorKevin Buettner <kevinb@redhat.com>2000-05-13 01:38:05 +0000
committerKevin Buettner <kevinb@redhat.com>2000-05-13 01:38:05 +0000
commit8216cda9b44352ed26e93c32fb24642b6283b9da (patch)
treee6e0f759bcd264cfeffd9d80dd7a6e8193a813ed /gdb/testsuite/gdb.base/step-test.exp
parentbf9198f149e3545c1fa21560dfc2b7a7f2a93759 (diff)
For IA-64, allow ``finish'' to land on caller rather than on next executable
line after the caller.
Diffstat (limited to 'gdb/testsuite/gdb.base/step-test.exp')
-rw-r--r--gdb/testsuite/gdb.base/step-test.exp12
1 files changed, 8 insertions, 4 deletions
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"