[binutils-gdb] gdb, btrace: set wait status to ignore if nothing is moving

Markus Metzger mmetzger@sourceware.org
Mon Nov 3 06:41:01 GMT 2025


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=921838d6db313817bf9eb625452dd7de67c627cb

commit 921838d6db313817bf9eb625452dd7de67c627cb
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Wed Feb 21 17:06:41 2024 +0000

    gdb, btrace: set wait status to ignore if nothing is moving
    
    When record_btrace::wait() is called and no threads are moving, we set the
    wait status to no_resumed.  Change that to ignore.
    
    This helps with enabling per-inferior run-control for the record btrace
    target as it avoids breaking out of do_target_wait() too early with
    no_resumed when there would have been an event on another thread.

Diff:
---
 gdb/record-btrace.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c
index bb4952d3349..f80cfccc7cd 100644
--- a/gdb/record-btrace.c
+++ b/gdb/record-btrace.c
@@ -2346,14 +2346,14 @@ btrace_step_spurious (void)
   return status;
 }
 
-/* Return a target_waitstatus indicating that the thread was not resumed.  */
+/* Return a target_waitstatus indicating that nothing is moving.  */
 
 static struct target_waitstatus
-btrace_step_no_resumed (void)
+btrace_step_no_moving_threads (void)
 {
   struct target_waitstatus status;
 
-  status.set_no_resumed ();
+  status.set_ignore ();
 
   return status;
 }
@@ -2658,7 +2658,7 @@ record_btrace_target::wait (ptid_t ptid, struct target_waitstatus *status,
 
   if (moving.empty ())
     {
-      *status = btrace_step_no_resumed ();
+      *status = btrace_step_no_moving_threads ();
 
       DEBUG ("wait ended by %s: %s", null_ptid.to_string ().c_str (),
 	     status->to_string ().c_str ());


More information about the Gdb-cvs mailing list