diff options
author | Pedro Alves <pedro@palves.net> | 2021-06-22 15:42:51 +0100 |
---|---|---|
committer | Pedro Alves <pedro@palves.net> | 2023-03-27 17:17:20 +0100 |
commit | 58c010877e77ad9dd4e14272f9500d40b75e7429 (patch) | |
tree | 14d9819aa812ac37a985946f408ad4bfe0de8f10 /gdb/gdbarch.c | |
parent | 1e77fa23a02f54be87a79a4931c8ee1d696b3981 (diff) | |
download | gdb-58c010877e77ad9dd4e14272f9500d40b75e7429.zip gdb-58c010877e77ad9dd4e14272f9500d40b75e7429.tar.gz gdb-58c010877e77ad9dd4e14272f9500d40b75e7429.tar.bz2 |
displaced step: pass down target_waitstatus instead of gdb_signal
This commit tweaks displaced_step_finish & friends to pass down a
target_waitstatus instead of a gdb_signal. This is needed because a
patch later in the step-over-{thread-exit,clone] series will want to
make displaced_step_buffers::finish handle
TARGET_WAITKIND_THREAD_EXITED. It also helps with the
TARGET_WAITKIND_THREAD_CLONED patch later in that same series.
It's also a bit more logical this way, as we don't have to pass down
signals when the thread didn't actually stop for a signal. So we can
also think of it as a clean up.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=27338
Change-Id: I4c5d338647b028071bc498c4e47063795a2db4c0
Approved-By: Andrew Burgess <aburgess@redhat.com>
Diffstat (limited to 'gdb/gdbarch.c')
-rw-r--r-- | gdb/gdbarch.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index b676e34..84beb08 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -4098,13 +4098,13 @@ set_gdbarch_displaced_step_prepare (struct gdbarch *gdbarch, } displaced_step_finish_status -gdbarch_displaced_step_finish (struct gdbarch *gdbarch, thread_info *thread, gdb_signal sig) +gdbarch_displaced_step_finish (struct gdbarch *gdbarch, thread_info *thread, const target_waitstatus &ws) { gdb_assert (gdbarch != NULL); gdb_assert (gdbarch->displaced_step_finish != NULL); if (gdbarch_debug >= 2) gdb_printf (gdb_stdlog, "gdbarch_displaced_step_finish called\n"); - return gdbarch->displaced_step_finish (gdbarch, thread, sig); + return gdbarch->displaced_step_finish (gdbarch, thread, ws); } void |