[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