[4/6] gdb, btrace: set wait status to ignore if nothing is moving
Checks
Context |
Check |
Description |
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gdb_build--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gdb_check--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 |
success
|
Testing passed
|
Commit Message
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.
---
gdb/record-btrace.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
@@ -2280,14 +2280,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;
}
@@ -2556,7 +2556,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 ());