aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/ChangeLog4
-rw-r--r--gdb/testsuite/gdb.base/ending-run.exp7
2 files changed, 10 insertions, 1 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index e671898..0777627 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,9 @@
2002-07-18 Jim Blandy <jimb@redhat.com>
+ * gdb.base/ending-run.exp: Don't expect to see the program end in
+ some orderly fashion when we're running on a real stand-alone
+ board.
+
* gdb.base/interrupt.exp: Correct logic for skipping tests on
targets that don't support interrupts.
diff --git a/gdb/testsuite/gdb.base/ending-run.exp b/gdb/testsuite/gdb.base/ending-run.exp
index 656601e..69f2b26 100644
--- a/gdb/testsuite/gdb.base/ending-run.exp
+++ b/gdb/testsuite/gdb.base/ending-run.exp
@@ -229,7 +229,12 @@ gdb_expect {
timeout { fail "step out of main (hang or timeout on step at end 1)" }
}
-if {![target_info exists use_cygmon] || ![target_info use_cygmon]} {
+# When we're talking to a program running on a real stand-alone board,
+# every BSP's exit function behaves differently, so there's no single
+# way to tell whether we've exited gracefully or not. So don't run
+# these tests when use_gdb_stub is set, or when we're running under Cygmon.
+if {! [target_info exists use_gdb_stub]
+ && (! [target_info exists use_cygmon] || ! [target_info use_cygmon])} {
global program_exited;
if {[eval expr $program_exited == 0]} {
send_gdb "n\n"