}
runto_main
+set target_remote [gdb_is_target_remote]
if [supports_process_record] {
# Activate process record/replay
# 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