diff options
-rw-r--r-- | gdb/NEWS | 5 | ||||
-rw-r--r-- | gdb/infrun.c | 9 | ||||
-rw-r--r-- | gdb/testsuite/gdb.btrace/multi-thread-step.exp | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.btrace/nohist.exp | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.btrace/non-stop.exp | 32 | ||||
-rw-r--r-- | gdb/testsuite/gdb.btrace/stepi.exp | 14 | ||||
-rw-r--r-- | gdb/testsuite/gdb.reverse/break-precsave.exp | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.reverse/break-reverse.exp | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.reverse/machinestate-precsave.exp | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.reverse/sigall-precsave.exp | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.reverse/sigall-reverse.exp | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.reverse/singlejmp-reverse.exp | 6 |
12 files changed, 57 insertions, 33 deletions
@@ -35,6 +35,11 @@ * Remove support (native and remote) for QNX Neutrino (triplet `i[3456]86-*-nto*`). +* In a record session, when a forward emulation reaches the end of the reverse + history, the warning message has been changed to indicate that the end of the + history has been reached. It also specifies that the forward execution can + continue, and the recording will also continue. + *** Changes in GDB 15 * The MPX commands "show/set mpx bound" have been deprecated, as Intel diff --git a/gdb/infrun.c b/gdb/infrun.c index f2d28ca..4ca1545 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -9267,8 +9267,15 @@ print_no_history_reason (struct ui_out *uiout) { if (uiout->is_mi_like_p ()) uiout->field_string ("reason", async_reason_lookup (EXEC_ASYNC_NO_HISTORY)); + else if (execution_direction == EXEC_FORWARD) + uiout->text ("\nReached end of recorded history; stopping.\nFollowing " + "forward execution will be added to history.\n"); else - uiout->text ("\nNo more reverse-execution history.\n"); + { + gdb_assert (execution_direction == EXEC_REVERSE); + uiout->text ("\nReached end of recorded history; stopping.\nBackward " + "execution from here not possible.\n"); + } } /* Print current location without a level number, if we have changed diff --git a/gdb/testsuite/gdb.btrace/multi-thread-step.exp b/gdb/testsuite/gdb.btrace/multi-thread-step.exp index 154db9a..cd20e8a 100644 --- a/gdb/testsuite/gdb.btrace/multi-thread-step.exp +++ b/gdb/testsuite/gdb.btrace/multi-thread-step.exp @@ -111,14 +111,14 @@ proc test_cont {} { with_test_prefix "cont" { gdb_test "thread 1" ".*" with_test_prefix "thread 1" { - gdb_test "continue" "No more reverse-execution history.*" + gdb_test "continue" "Reached end of recorded history.*" check_not_replaying 1 check_replay_insn 2 2 } gdb_test "thread 2" ".*" with_test_prefix "thread 2" { - gdb_test "continue" "No more reverse-execution history.*" + gdb_test "continue" "Reached end of recorded history.*" check_not_replaying 1 check_not_replaying 2 @@ -128,7 +128,7 @@ proc test_cont {} { proc test_cont_all {} { with_test_prefix "cont-all" { - gdb_test "continue" "No more reverse-execution history.*" + gdb_test "continue" "Reached end of recorded history.*" # this works because we're lock-stepping threads that executed exactly # the same code starting from the same instruction. diff --git a/gdb/testsuite/gdb.btrace/nohist.exp b/gdb/testsuite/gdb.btrace/nohist.exp index d719091..ac6a41c 100644 --- a/gdb/testsuite/gdb.btrace/nohist.exp +++ b/gdb/testsuite/gdb.btrace/nohist.exp @@ -42,7 +42,7 @@ with_test_prefix "forward" { check_not_replaying } -gdb_test "reverse-continue" "No more reverse-execution history\.\r\n.*" +gdb_test "reverse-continue" "Reached end of recorded history; stopping.*" with_test_prefix "backward" { check_not_replaying diff --git a/gdb/testsuite/gdb.btrace/non-stop.exp b/gdb/testsuite/gdb.btrace/non-stop.exp index 62c940e..5e43545 100644 --- a/gdb/testsuite/gdb.btrace/non-stop.exp +++ b/gdb/testsuite/gdb.btrace/non-stop.exp @@ -79,16 +79,26 @@ proc gdb_cont_to_bp_line { line threads nthreads } { $nthreads } -proc gdb_cont_to_no_history { threads cmd nthreads } { +proc gdb_cont_to_no_history_backward { threads cmd nthreads } { gdb_cont_to $threads $cmd \ [multi_line \ - "No more reverse-execution history\." \ + "Reached end of recorded.*Backward execution.*" \ "\[^\\\r\\\n\]*" \ "\[^\\\r\\\n\]*" \ ] \ $nthreads } +proc gdb_cont_to_no_history_forward { threads cmd nthreads } { + gdb_cont_to $threads $cmd \ + [multi_line \ + "Reached end of recorded.*Following forward.*" \ + "\[^\\\r\\\n\]*" \ + "\[^\\\r\\\n\]*" \ + ] \ + $nthreads +} + # trace the code between the two breakpoints with_test_prefix "prepare" { gdb_cont_to_bp_line "$srcfile:$bp_1" all 2 @@ -176,14 +186,14 @@ with_test_prefix "reverse-step" { with_test_prefix "continue" { with_test_prefix "thread 1" { with_test_prefix "continue" { - gdb_cont_to_no_history 1 "continue" 1 + gdb_cont_to_no_history_forward 1 "continue" 1 gdb_test "thread apply 1 info record" \ ".*Recorded \[0-9\]+ instructions \[^\\\r\\\n\]*" gdb_test "thread apply 2 info record" \ ".*Replay in progress\. At instruction 5\." } with_test_prefix "reverse-continue" { - gdb_cont_to_no_history 1 "reverse-continue" 1 + gdb_cont_to_no_history_backward 1 "reverse-continue" 1 gdb_test "thread apply 1 info record" \ ".*Replay in progress\. At instruction 1\." gdb_test "thread apply 2 info record" \ @@ -193,14 +203,14 @@ with_test_prefix "continue" { with_test_prefix "thread 2" { with_test_prefix "continue" { - gdb_cont_to_no_history 2 "continue" 1 + gdb_cont_to_no_history_forward 2 "continue" 1 gdb_test "thread apply 1 info record" \ ".*Replay in progress\. At instruction 1\." gdb_test "thread apply 2 info record" \ ".*Recorded \[0-9\]+ instructions \[^\\\r\\\n\]*" } with_test_prefix "reverse-continue" { - gdb_cont_to_no_history 2 "reverse-continue" 1 + gdb_cont_to_no_history_backward 2 "reverse-continue" 1 gdb_test "thread apply 1 info record" \ ".*Replay in progress\. At instruction 1\." gdb_test "thread apply 2 info record" \ @@ -215,8 +225,8 @@ with_test_prefix "no progress" { gdb_test "thread apply 1 record goto end" ".*" gdb_test "thread apply 2 record goto begin" ".*" - gdb_cont_to_no_history 1 "continue" 1 - gdb_cont_to_no_history 1 "step" 1 + gdb_cont_to_no_history_forward 1 "continue" 1 + gdb_cont_to_no_history_forward 1 "step" 1 gdb_test "thread apply 1 info record" \ ".*Recorded \[0-9\]+ instructions \[^\\\r\\\n\]*" gdb_test "thread apply 2 info record" \ @@ -227,8 +237,8 @@ with_test_prefix "no progress" { gdb_test "thread apply 1 record goto begin" ".*" gdb_test "thread apply 2 record goto end" ".*" - gdb_cont_to_no_history 2 "continue" 1 - gdb_cont_to_no_history 2 "step" 1 + gdb_cont_to_no_history_forward 2 "continue" 1 + gdb_cont_to_no_history_forward 2 "step" 1 gdb_test "thread apply 1 info record" \ ".*Replay in progress\. At instruction 1\." gdb_test "thread apply 2 info record" \ @@ -238,7 +248,7 @@ with_test_prefix "no progress" { with_test_prefix "all" { gdb_test "thread apply all record goto begin" ".*" - gdb_cont_to_no_history all "continue" 2 + gdb_cont_to_no_history_forward all "continue" 2 gdb_test "thread apply 1 info record" \ ".*Recorded \[0-9\]+ instructions \[^\\\r\\\n\]*" gdb_test "thread apply 2 info record" \ diff --git a/gdb/testsuite/gdb.btrace/stepi.exp b/gdb/testsuite/gdb.btrace/stepi.exp index a70a5ad..689bc79 100644 --- a/gdb/testsuite/gdb.btrace/stepi.exp +++ b/gdb/testsuite/gdb.btrace/stepi.exp @@ -100,7 +100,7 @@ with_test_prefix "reverse-nexti.1" { # we can't reverse-nexti any further with_test_prefix "reverse-nexti.2" { gdb_test "reverse-nexti" \ - "No more reverse-execution history\.\r\n.*main\.2.*" \ + "Reached end of recorded history; stopping\.\r\n.*main\.2.*" \ "reverse-nexti.2" check_replay_at 1 } @@ -140,20 +140,20 @@ with_test_prefix "goto begin" { with_test_prefix "reverse-stepi" { gdb_test "reverse-stepi" \ - "No more reverse-execution history\.\r\n.*main\.2.*" \ + "Reached end of recorded history; stopping\.\r\n.*main\.2.*" \ "reverse-stepi.1" gdb_test "reverse-stepi" \ - "No more reverse-execution history\.\r\n.*main\.2.*" \ + "Reached end of recorded history; stopping\.\r\n.*main\.2.*" \ "reverse-stepi.2" check_replay_at 1 } with_test_prefix "reverse-nexti" { gdb_test "reverse-nexti" \ - "No more reverse-execution history\.\r\n.*main\.2.*" \ + "Reached end of recorded history; stopping\.\r\n.*main\.2.*" \ "reverse-nexti.1" gdb_test "reverse-nexti" \ - "No more reverse-execution history\.\r\n.*main\.2.*" \ + "Reached end of recorded history; stopping\.\r\n.*main\.2.*" \ "reverse-nexti.2" check_replay_at 1 } @@ -169,10 +169,10 @@ with_test_prefix "goto begin" { with_test_prefix "reverse-stepi" { gdb_test "reverse-stepi" ".*main\.2.*" "reverse-stepi.1" gdb_test "reverse-stepi" \ - "No more reverse-execution history\.\r\n.*main\.2.*" \ + "Reached end of recorded history; stopping\.\r\n.*main\.2.*" \ "reverse-stepi.2" gdb_test "reverse-stepi" \ - "No more reverse-execution history\.\r\n.*main\.2.*" \ + "Reached end of recorded history; stopping\.\r\n.*main\.2.*" \ "reverse-stepi.3" check_replay_at 1 } diff --git a/gdb/testsuite/gdb.reverse/break-precsave.exp b/gdb/testsuite/gdb.reverse/break-precsave.exp index b9d9468..6d9b312 100644 --- a/gdb/testsuite/gdb.reverse/break-precsave.exp +++ b/gdb/testsuite/gdb.reverse/break-precsave.exp @@ -73,7 +73,7 @@ proc precsave_tests {} { -re ".*Breakpoint $decimal,.*$srcfile:$end_location.*$gdb_prompt $" { pass "go to end of main forward" } - -re "No more reverse-execution history.* end of main .*$gdb_prompt $" { + -re -wrap "Reached end of recorded.*Following forward.* end of main .*" { pass "go to end of main forward" } } @@ -87,7 +87,7 @@ proc precsave_tests {} { -re ".*Breakpoint $decimal,.*$srcfile:$main_location.*$gdb_prompt $" { pass "main backward" } - -re "No more reverse-execution history.* break in main .*$gdb_prompt $" { + -re -wrap "Reached end of recorded.*Backward execution.* break in main .*" { pass "main backward" } } @@ -103,7 +103,7 @@ proc precsave_tests {} { -re ".*Breakpoint $decimal,.*$srcfile:$end_location.*$gdb_prompt $" { pass "end of record log" } - -re "No more reverse-execution history.* end of main .*$gdb_prompt $" { + -re -wrap "Reached end of recorded.*Following forward.* end of main .*" { pass "end of record log" } } diff --git a/gdb/testsuite/gdb.reverse/break-reverse.exp b/gdb/testsuite/gdb.reverse/break-reverse.exp index 1dd327c..66e9712 100644 --- a/gdb/testsuite/gdb.reverse/break-reverse.exp +++ b/gdb/testsuite/gdb.reverse/break-reverse.exp @@ -64,7 +64,7 @@ gdb_test_multiple "continue" "main backward" { -re ".*Breakpoint $decimal,.*$srcfile:$main_location.*$gdb_prompt $" { pass "main backward" } - -re "No more reverse-execution history.* break in main .*$gdb_prompt $" { + -re -wrap "Reached end of recorded history.*Backward execution.*" { pass "main backward" } } @@ -80,7 +80,7 @@ gdb_test_multiple "continue" "end of record log" { -re ".*Breakpoint $decimal,.*$srcfile:$end_location.*$gdb_prompt $" { pass "end of record log" } - -re "No more reverse-execution history.* end of main .*$gdb_prompt $" { + -re -wrap "Reached end of recorded history.*Following forward.*" { pass "end of record log" } } diff --git a/gdb/testsuite/gdb.reverse/machinestate-precsave.exp b/gdb/testsuite/gdb.reverse/machinestate-precsave.exp index 19c5934..cedca0f 100644 --- a/gdb/testsuite/gdb.reverse/machinestate-precsave.exp +++ b/gdb/testsuite/gdb.reverse/machinestate-precsave.exp @@ -85,7 +85,7 @@ gdb_test_multiple "continue" "go to end of main forward" { -re ".*Breakpoint $decimal,.*$srcfile:$endmain.*$gdb_prompt $" { pass "go to end of main forward" } - -re "No more reverse-execution history.* end main .*$gdb_prompt $" { + -re -wrap "Reached end of recorded history.*Following forward.*" { pass "go to end of main forward" } } diff --git a/gdb/testsuite/gdb.reverse/sigall-precsave.exp b/gdb/testsuite/gdb.reverse/sigall-precsave.exp index e5890ad..aab4551 100644 --- a/gdb/testsuite/gdb.reverse/sigall-precsave.exp +++ b/gdb/testsuite/gdb.reverse/sigall-precsave.exp @@ -128,7 +128,7 @@ proc test_one_sig_reverse {prevsig} { xfail "$testmsg (handled)" } } - -re "No more reverse-execution history.*kill.*$gdb_prompt " { + -re "Reached end of recorded history.*Backward execution.*kill.*$gdb_prompt " { if {$saw_signal} { pass "$testmsg (handled)" } else { diff --git a/gdb/testsuite/gdb.reverse/sigall-reverse.exp b/gdb/testsuite/gdb.reverse/sigall-reverse.exp index f2cf55b..884b178 100644 --- a/gdb/testsuite/gdb.reverse/sigall-reverse.exp +++ b/gdb/testsuite/gdb.reverse/sigall-reverse.exp @@ -134,7 +134,7 @@ proc test_one_sig_reverse {prevsig} { xfail "$testmsg (handled)" } } - -re "No more reverse-execution history.*kill.*$gdb_prompt " { + -re "Reached end of recorded.*Backward execution.*kill.*$gdb_prompt " { if {$saw_signal} { pass "$testmsg (handled)" } else { diff --git a/gdb/testsuite/gdb.reverse/singlejmp-reverse.exp b/gdb/testsuite/gdb.reverse/singlejmp-reverse.exp index 971d88b..7392356 100644 --- a/gdb/testsuite/gdb.reverse/singlejmp-reverse.exp +++ b/gdb/testsuite/gdb.reverse/singlejmp-reverse.exp @@ -50,11 +50,13 @@ gdb_test "next" {nodebug \(\);} "next to nodebug" gdb_test "next" {v = 3;} "next to v = 3" # FAIL was: -# No more reverse-execution history. +# Reached end of recorded history; stopping. +# Backward execution from here not possible. # { gdb_test "reverse-step" {nodebug \(\);} # FAIL was: -# No more reverse-execution history. +# Reached end of recorded history; stopping. +# Backward execution from here not possible. # { gdb_test "reverse-next" {f \(\);} |