From f0778fc1cf9a08299a17e7263a6fd00b3d734a0c Mon Sep 17 00:00:00 2001 From: Markus Metzger Date: Tue, 15 Dec 2020 15:01:21 +0100 Subject: [PATCH] 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. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.btrace/rn-dl-bind.exp | 28 +++++++++++++++++-------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 1f0941e13e1..3ae045af6c4 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2021-03-03 Markus Metzger + + * gdb.btrace/rn-dl-bind.exp: Replace reverse-step with + reverse-continue to breakpoint. + 2021-03-03 Markus Metzger * gdb.btrace/delta.exp: Remove instruction-history and diff --git a/gdb/testsuite/gdb.btrace/rn-dl-bind.exp b/gdb/testsuite/gdb.btrace/rn-dl-bind.exp index a769db29cf0..65e445334af 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.*" +} -- 2.30.2