aboutsummaryrefslogtreecommitdiff
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
parentbf9198f149e3545c1fa21560dfc2b7a7f2a93759 (diff)
downloadgdb-8216cda9b44352ed26e93c32fb24642b6283b9da.zip
gdb-8216cda9b44352ed26e93c32fb24642b6283b9da.tar.gz
gdb-8216cda9b44352ed26e93c32fb24642b6283b9da.tar.bz2
For IA-64, allow ``finish'' to land on caller rather than on next executable
line after the caller.
-rw-r--r--gdb/testsuite/ChangeLog7
-rw-r--r--gdb/testsuite/gdb.base/step-test.exp12
2 files changed, 15 insertions, 4 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 0ac6256..d2248a1 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2000-05-12 Kevin Buettner <kevinb@redhat.com>
+
+ * 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 <msnyder@seadog.cygnus.com>
* 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 47d4572..652192a 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"