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/linux-tdep.c | |
parent | 1e77fa23a02f54be87a79a4931c8ee1d696b3981 (diff) | |
download | fsf-binutils-gdb-58c010877e77ad9dd4e14272f9500d40b75e7429.zip fsf-binutils-gdb-58c010877e77ad9dd4e14272f9500d40b75e7429.tar.gz fsf-binutils-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/linux-tdep.c')
-rw-r--r-- | gdb/linux-tdep.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c index d0bda5a..1fc9cb6 100644 --- a/gdb/linux-tdep.c +++ b/gdb/linux-tdep.c @@ -2626,13 +2626,14 @@ linux_displaced_step_prepare (gdbarch *arch, thread_info *thread, /* See linux-tdep.h. */ displaced_step_finish_status -linux_displaced_step_finish (gdbarch *arch, thread_info *thread, gdb_signal sig) +linux_displaced_step_finish (gdbarch *arch, thread_info *thread, + const target_waitstatus &status) { linux_info *per_inferior = get_linux_inferior_data (thread->inf); gdb_assert (per_inferior->disp_step_bufs.has_value ()); - return per_inferior->disp_step_bufs->finish (arch, thread, sig); + return per_inferior->disp_step_bufs->finish (arch, thread, status); } /* See linux-tdep.h. */ |