public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Alex Chronopoulos <achronop@gmail.com>
To: "Metzger, Markus T" <markus.t.metzger@intel.com>
Cc: Eli Zaretskii <eliz@gnu.org>,
	"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: Re: [PATCH v2] Change message when reaching end of reverse history.
Date: Thu, 11 Apr 2024 18:46:38 +0200	[thread overview]
Message-ID: <CAN7Yog4UqKxDBahmm5DKwxCWEBZ2mxLCNgnM=3zDZ7d2HdCjHA@mail.gmail.com> (raw)
In-Reply-To: <DM8PR11MB57497844FAADDC772F93E595DE002@DM8PR11MB5749.namprd11.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 11354 bytes --]

Thank you, Markus.

> This line got too long.

All these are *.exp files and I cannot find an easy way to reduce the line
length without breaking the expectations test. On the other hand, I see
more *.exp files with much longer lines. Do you know how to make the line
shorter in his case?


On Mon, Apr 8, 2024 at 9:15 AM Metzger, Markus T <markus.t.metzger@intel.com>
wrote:

> >In a record session, when we move backward, GDB switches from normal
> >execution to simulation. Moving forward again, the emulation continues
> >until the end of the reverse history. When the end is reached, the
> >execution stops, and a warning message is shown. This message has been
> >modified to indicate that the forward emulation has reached the end, but
> >the execution can continue as normal, and the recording will also
> continue.
> >
> >Before this patch, the warning message shown in that case was the same as
> >in the reverse case. This meant that when the end of history was reached
> in
> >either backward or forward emulation, the same message was displayed:
> >
> >"No more reverse-execution history."
> >
> >This message remains for backward emulation. However, in forward
> >emulation,
> >it has been modified to:
> >
> >"End of recorded history; following steps will be added to history."
> >
> >The reason for this change is that the initial message was deceiving, for
> >the forward case, making the user believe that forward debugging could not
> >continue.
> >
> >Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31224
>
> Looks good to me with a small formatting nit.  CLI and documentation is
> typically approved by Eli.
>
>
> >---
> > gdb/NEWS                                      |  5 ++++
> > gdb/infrun.c                                  |  8 ++++-
> > gdb/testsuite/gdb.btrace/non-stop.exp         | 30 ++++++++++++-------
> > gdb/testsuite/gdb.reverse/break-precsave.exp  |  4 +--
> > gdb/testsuite/gdb.reverse/break-reverse.exp   |  2 +-
> > .../gdb.reverse/machinestate-precsave.exp     |  2 +-
> > 6 files changed, 36 insertions(+), 15 deletions(-)
> >
> >diff --git a/gdb/NEWS b/gdb/NEWS
> >index 2638b3e0d9c..f2e85776a53 100644
> >--- a/gdb/NEWS
> >+++ b/gdb/NEWS
> >@@ -13,6 +13,11 @@
> >   the background, resulting in faster startup.  This can be controlled
> >   using "maint set dwarf synchronous".
> >
> >+* 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.
> >+
> > * Changed commands
> >
> > disassemble
> >diff --git a/gdb/infrun.c b/gdb/infrun.c
> >index bbb98f6dcdb..c0f037c11a2 100644
> >--- a/gdb/infrun.c
> >+++ b/gdb/infrun.c
> >@@ -9244,8 +9244,14 @@ 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 ("\nEnd of recorded history; following steps will be
> added to "
> >+               "history.\n");
> >   else
> >-    uiout->text ("\nNo more reverse-execution history.\n");
> >+    {
> >+      gdb_assert (execution_direction == EXEC_REVERSE);
> >+      uiout->text ("\nNo more reverse-execution history.\n");
> >+    }
> > }
> >
> > /* Print current location without a level number, if we have changed
> >diff --git a/gdb/testsuite/gdb.btrace/non-stop.exp
> >b/gdb/testsuite/gdb.btrace/non-stop.exp
> >index 62c940e4cd6..e4c91b793ae 100644
> >--- a/gdb/testsuite/gdb.btrace/non-stop.exp
> >+++ b/gdb/testsuite/gdb.btrace/non-stop.exp
> >@@ -79,7 +79,7 @@ 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\." \
> >@@ -89,6 +89,16 @@ proc gdb_cont_to_no_history { threads cmd nthreads }
> >{
> >         $nthreads
> > }
> >
> >+proc gdb_cont_to_no_history_forward { threads cmd nthreads } {
> >+    gdb_cont_to $threads $cmd \
> >+        [multi_line \
> >+             "End of recorded history; following steps will be added to
> history\." \
> >+             "\[^\\\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.reverse/break-precsave.exp
> >b/gdb/testsuite/gdb.reverse/break-precsave.exp
> >index b9d94681247..89ce9d7e854 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 "End of recorded history; following steps will be added to
> history.*
> >end of main .*$gdb_prompt $" {
>
> This line got too long.
>
> >           pass "go to end of main forward"
> >       }
> >     }
> >@@ -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 "End of recorded history; following steps will be added to
> history.*
> >end of main .*$gdb_prompt $" {
>
> This line got too long.
>
> >           pass "end of record log"
> >       }
> >     }
> >diff --git a/gdb/testsuite/gdb.reverse/break-reverse.exp
> >b/gdb/testsuite/gdb.reverse/break-reverse.exp
> >index 1dd327ca654..e9c799a506d 100644
> >--- a/gdb/testsuite/gdb.reverse/break-reverse.exp
> >+++ b/gdb/testsuite/gdb.reverse/break-reverse.exp
> >@@ -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 "End of recorded history; following steps will be added to
> history.* end
> >of main .*$gdb_prompt $" {
>
> This line got too long.
>
> >       pass "end of record log"
> >     }
> > }
> >diff --git a/gdb/testsuite/gdb.reverse/machinestate-precsave.exp
> >b/gdb/testsuite/gdb.reverse/machinestate-precsave.exp
> >index 19c5934bfdf..6b3a949e23a 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 "End of recorded history; following steps will be added to
> history.* end
> >main .*$gdb_prompt $" {
>
> This line got too long.
>
> >       pass "go to end of main forward"
> >     }
> > }
> >--
> >2.42.0
>
> Intel Deutschland GmbH
> Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
> Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de>
> Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva
> Chairperson of the Supervisory Board: Nicole Lau
> Registered Office: Munich
> Commercial Register: Amtsgericht Muenchen HRB 186928
>
>

  reply	other threads:[~2024-04-11 16:46 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-07 19:55 Alex Chronopoulos
2024-04-08  7:15 ` Metzger, Markus T
2024-04-11 16:46   ` Alex Chronopoulos [this message]
2024-04-12  5:39     ` Metzger, Markus T
2024-04-08 11:12 ` Eli Zaretskii
2024-04-09 18:05 ` Guinevere Larsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAN7Yog4UqKxDBahmm5DKwxCWEBZ2mxLCNgnM=3zDZ7d2HdCjHA@mail.gmail.com' \
    --to=achronop@gmail.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    --cc=markus.t.metzger@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).