aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorBruno Larsen <blarsen@redhat.com>2022-11-03 10:01:42 +0100
committerBruno Larsen <blarsen@redhat.com>2022-11-04 12:02:32 +0100
commit476410b3bca1389ee69e9c8fa18aaee16793a56d (patch)
tree63af83449147525cc248cf93c63445c924c96ed6 /gdb
parentd8521074fe20928d34072701043806f381c5a07d (diff)
downloadbinutils-476410b3bca1389ee69e9c8fa18aaee16793a56d.zip
binutils-476410b3bca1389ee69e9c8fa18aaee16793a56d.tar.gz
binutils-476410b3bca1389ee69e9c8fa18aaee16793a56d.tar.bz2
gdb/testsuite: add KFAILs to gdb.reverse/step-reverse.exp
Recent changes to gdb.reverse/step-reverse.exp revealed the latent bug PR record/29745, where we can't skip one funcion forward if we're using native-gdbserver. This commit just adds kfails to the test. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29745 Approved-By: Simon Marchi <simon.marchi@efficios.com>
Diffstat (limited to 'gdb')
-rw-r--r--gdb/testsuite/gdb.reverse/step-reverse.exp15
1 files changed, 15 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.reverse/step-reverse.exp b/gdb/testsuite/gdb.reverse/step-reverse.exp
index c28e1f6..d2975cf 100644
--- a/gdb/testsuite/gdb.reverse/step-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/step-reverse.exp
@@ -31,6 +31,7 @@ if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {
}
runto_main
+set target_remote [gdb_is_target_remote]
if [supports_process_record] {
# Activate process record/replay
@@ -273,11 +274,25 @@ if { "$step_out" == 1 } {
# Step forward over recursion again so we can test stepping over calls
# inside the recursion itself.
gdb_test_no_output "set exec-dir forward" "forward again to test recursion"
+if {$target_remote} {
+ # gdb doesn't record the change of return pointer for remote targets,
+ # so we can't next forward over functions.
+ setup_kfail gdb/29745 *-*-*
+}
gdb_test "next" "NEXT OVER THIS CALL.*" "reverse next over recursion again"
gdb_test_no_output "set exec-dir reverse" "reverse again to test recursion"
+if {$target_remote} {
+ # Because of the above mentioned KFAIL, the inferior is now out of sync
+ setup_kfail gdb/29745 *-*-*
+}
gdb_test "step" ".*EXIT RECURSIVE FUNCTION.*" "enter recursive function"
set seen_recursive_call 0
+if {$target_remote} {
+ # Because of the above mentioned KFAIL, the inferior is now out of sync
+ # The fail state below will resync the inferior.
+ setup_kfail gdb/29745 *-*-*
+}
gdb_test_multiple "next" "step over recursion inside the recursion" {
-re -wrap ".*RECURSIVE CALL.*" {
incr seen_recursive_call