From: Bruno Larsen Date: Thu, 3 Nov 2022 09:01:42 +0000 (+0100) Subject: gdb/testsuite: add KFAILs to gdb.reverse/step-reverse.exp X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=476410b3bca1389ee69e9c8fa18aaee16793a56d;p=binutils-gdb.git 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 --- diff --git a/gdb/testsuite/gdb.reverse/step-reverse.exp b/gdb/testsuite/gdb.reverse/step-reverse.exp index c28e1f6db4f..d2975cffb5c 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