aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Metzger <markus.t.metzger@intel.com>2020-12-15 15:01:21 +0100
committerMarkus Metzger <markus.t.metzger@intel.com>2021-03-03 09:14:47 +0100
commitf0778fc1cf9a08299a17e7263a6fd00b3d734a0c (patch)
treec5d0862fa7b39d019d6a570c868923cbea7fa478
parente71dbd03045836f8a604ccc2ac709823479110cc (diff)
downloadgdb-f0778fc1cf9a08299a17e7263a6fd00b3d734a0c.zip
gdb-f0778fc1cf9a08299a17e7263a6fd00b3d734a0c.tar.gz
gdb-f0778fc1cf9a08299a17e7263a6fd00b3d734a0c.tar.bz2
testsuite, gdb.btrace: pass rn-dl-bind.exp with clang
Clang generates slightly different debug information causing gdb.btrace/rn-dl-bind.exp to fail on its way to the actual test. Modify the test to remove that dependency.
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.btrace/rn-dl-bind.exp28
2 files changed, 24 insertions, 9 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 1f0941e..3ae045a 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2021-03-03 Markus Metzger <markus.t.metzger@intel.com>
+ * gdb.btrace/rn-dl-bind.exp: Replace reverse-step with
+ reverse-continue to breakpoint.
+
+2021-03-03 Markus Metzger <markus.t.metzger@intel.com>
+
* gdb.btrace/delta.exp: Remove instruction-history and
function-call-history checks.
diff --git a/gdb/testsuite/gdb.btrace/rn-dl-bind.exp b/gdb/testsuite/gdb.btrace/rn-dl-bind.exp
index a769db2..65e4453 100644
--- a/gdb/testsuite/gdb.btrace/rn-dl-bind.exp
+++ b/gdb/testsuite/gdb.btrace/rn-dl-bind.exp
@@ -38,18 +38,28 @@ if ![runto_main] {
# trace the code for the call to test
gdb_test_no_output "record btrace"
-gdb_test "next" ".*main\.2.*" "next.1"
+gdb_test "next" ".*main\.2.*"
# just dump the function-call-history to help debugging
gdb_test_no_output "set record function-call-history-size 0"
gdb_test "record function-call-history /cli 1" ".*"
# check that we can reverse-next and next
-gdb_test "reverse-next" ".*main\.1.*" "reverse-next.1"
-gdb_test "next" ".*main\.2.*" "next.2"
-
-# now go into test and try to reverse-next and next over the library call
-gdb_test "reverse-step" ".*test\.3.*" "reverse-step.1"
-gdb_test "reverse-step" ".*test\.2.*" "reverse-step.2"
-gdb_test "reverse-next" ".*test\.1.*" "reverse-next.2"
-gdb_test "next" ".*test\.2.*" "next.3"
+with_test_prefix "main" {
+ gdb_test "reverse-next" ".*main\.1.*"
+ gdb_test "next" ".*main\.2.*"
+}
+
+# now go into test and try to (reverse-)next over the library call
+#
+# reverse-stepping through the epilogue is not very reliable; depending on
+# debug information we may stop at the closing brace or at the return.
+#
+# instead, run to test
+gdb_breakpoint test {temporary}
+gdb_test "reverse-continue" ".*test\.1.*"
+
+with_test_prefix "test" {
+ gdb_test "next" ".*test\.2.*"
+ gdb_test "reverse-next" ".*test\.1.*"
+}