aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/gdb.base/step-test.exp22
2 files changed, 24 insertions, 4 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index a137347..b290cc6 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,11 @@
2002-03-26 Fred Fish <fnf@redhat.com>
+ * gdb.base/step-test.exp: Accept stopping in memcpy/bcopy when we
+ have debugging info for those functions and the compiler uses them
+ internally to copy structs around.
+
+2002-03-26 Fred Fish <fnf@redhat.com>
+
* gdb.base/list.exp: Revert the change made yesterday and add note
about why we don't list the default lines for remote targets.
diff --git a/gdb/testsuite/gdb.base/step-test.exp b/gdb/testsuite/gdb.base/step-test.exp
index 48af23c..6756b5d 100644
--- a/gdb/testsuite/gdb.base/step-test.exp
+++ b/gdb/testsuite/gdb.base/step-test.exp
@@ -1,4 +1,4 @@
-# Copyright 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+# Copyright 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -212,9 +212,23 @@ gdb_test \
gdb_test "continue" \
".*Breakpoint ${decimal},.*large_struct_by_value.*" \
"run to pass large struct"
-gdb_test "step" \
- ".*step-test.exp: arrive here 1.*" \
- "large struct by value"
+send_gdb "step\n"
+gdb_expect {
+ -re ".*step-test.exp: arrive here 1.*$gdb_prompt $" {
+ pass "large struct by value"
+ }
+ -re ".*(memcpy|bcopy).*$gdb_prompt $" {
+ send_gdb "finish\n" ; gdb_expect -re "$gdb_prompt $"
+ send_gdb "step\n"
+ exp_continue
+ }
+ -re ".*$gdb_prompt $" {
+ fail "large struct by value"
+ }
+ timeout {
+ fail "large struct by value (timeout)"
+ }
+}
gdb_continue_to_end "step-test.exp"