For IA-64, allow ``finish'' to land on caller rather than on next executable
authorKevin Buettner <kevinb@redhat.com>
Sat, 13 May 2000 01:38:05 +0000 (01:38 +0000)
committerKevin Buettner <kevinb@redhat.com>
Sat, 13 May 2000 01:38:05 +0000 (01:38 +0000)
line after the caller.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/step-test.exp

index 0ac6256b048c27845b32eacaa1604af5f52e6d4d..d2248a1ab05c8fa1946dda6832a1174230fcde85 100644 (file)
@@ -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" 
index 47d4572e91aeefc279f5e979d7909de018111a7c..652192a490cf72acf53f7b6ca06b51ac5998c9dd 100644 (file)
@@ -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"