From a3627b54280ba306766f2689fb35442f24c4c313 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Tue, 22 Mar 2022 12:05:43 -0700 Subject: [PATCH] fbsd-nat: Add a low_prepare_to_resume virtual method. This method can be overridden by architecture-specific targets to perform additional work before a thread is resumed. --- gdb/fbsd-nat.c | 9 +++++++-- gdb/fbsd-nat.h | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gdb/fbsd-nat.c b/gdb/fbsd-nat.c index 2bc7937a38b..934fdbad6ef 100644 --- a/gdb/fbsd-nat.c +++ b/gdb/fbsd-nat.c @@ -1138,6 +1138,8 @@ fbsd_nat_target::resume (ptid_t ptid, int step, enum gdb_signal signo) perror_with_name (request == PT_RESUME ? ("ptrace (PT_RESUME)") : ("ptrace (PT_SUSPEND)")); + if (request == PT_RESUME) + low_prepare_to_resume (tp); } } else @@ -1145,8 +1147,11 @@ fbsd_nat_target::resume (ptid_t ptid, int step, enum gdb_signal signo) /* If ptid is a wildcard, resume all matching threads (they won't run until the process is continued however). */ for (thread_info *tp : all_non_exited_threads (this, ptid)) - if (ptrace (PT_RESUME, tp->ptid.lwp (), NULL, 0) == -1) - perror_with_name (("ptrace (PT_RESUME)")); + { + if (ptrace (PT_RESUME, tp->ptid.lwp (), NULL, 0) == -1) + perror_with_name (("ptrace (PT_RESUME)")); + low_prepare_to_resume (tp); + } ptid = inferior_ptid; } diff --git a/gdb/fbsd-nat.h b/gdb/fbsd-nat.h index 6028aebfccc..82f7ee47949 100644 --- a/gdb/fbsd-nat.h +++ b/gdb/fbsd-nat.h @@ -119,6 +119,10 @@ public: virtual void low_delete_thread (thread_info *) {} + /* Hook to call prior to resuming a thread. */ + virtual void low_prepare_to_resume (thread_info *) + {} + protected: void post_startup_inferior (ptid_t) override; -- 2.30.2