summaryrefslogtreecommitdiff
path: root/gdbserver/target.cc
diff options
context:
space:
mode:
authorTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2020-02-17 16:11:59 +0100
committerTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2020-02-20 17:35:14 +0100
commit68119632a065f7d2a1bdd4c9524484c741544f24 (patch)
treef2c958ff2d66bde6e50c1a95d0db2f16f649dac5 /gdbserver/target.cc
parent770d8f6a51200bb4bf1228eba928e24e5d7fff86 (diff)
gdbserver: turn target op 'thread_stopped' into a method
gdbserver/ChangeLog: 2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> Turn process_stratum_target's thread_stopped op into a method of process_target. * target.h (struct process_stratum_target): Remove the target op. (class process_target): Add the target op. Also add 'supports_thread_stopped'. (target_thread_stopped): Update the macro. * target.cc (process_target::thread_stopped): Define. (process_target::supports_thread_stopped): Define. (prepare_to_access_memory): Update. Update the derived classes and callers below. * server.cc (queue_stop_reply_callback): Update. * linux-low.cc (linux_target_ops): Update. (linux_process_target::supports_thread_stopped): Define. (linux_thread_stopped): Turn into ... (linux_process_target::thread_stopped): ... this. * linux-low.h (class linux_process_target): Update. * lynx-low.cc (lynx_target_ops): Update. * nto-low.cc (nto_target_ops): Update. * win32-low.cc (win32_target_ops): Update.
Diffstat (limited to 'gdbserver/target.cc')
-rw-r--r--gdbserver/target.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/gdbserver/target.cc b/gdbserver/target.cc
index 4f8d91c171f..b44170a7cdd 100644
--- a/gdbserver/target.cc
+++ b/gdbserver/target.cc
@@ -66,8 +66,8 @@ prepare_to_access_memory (void)
{
if (mythread_alive (thread->id))
{
- if (stopped == NULL && the_target->thread_stopped != NULL
- && thread_stopped (thread))
+ if (stopped == NULL && the_target->pt->supports_thread_stopped ()
+ && target_thread_stopped (thread))
stopped = thread;
if (first == NULL)
@@ -626,3 +626,15 @@ process_target::write_pc (regcache *regcache, CORE_ADDR pc)
{
gdb_assert_not_reached ("process_target::write_pc: Unable to update PC");
}
+
+bool
+process_target::supports_thread_stopped ()
+{
+ return false;
+}
+
+bool
+process_target::thread_stopped (thread_info *thread)
+{
+ gdb_assert_not_reached ("target op thread_stopped not supported");
+}