diff options
author | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2020-02-17 16:11:55 +0100 |
---|---|---|
committer | Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> | 2020-02-20 17:35:07 +0100 |
commit | 84320c4ea740a0e374b2a0c3ce78209318d34065 (patch) | |
tree | 429b009a345c62eaa7c9bdac531094532aaf62d7 /gdbserver/target.h | |
parent | 7e0bde70ca4ea73461365e95d2fcaae8fb925ab4 (diff) | |
download | gdb-84320c4ea740a0e374b2a0c3ce78209318d34065.zip gdb-84320c4ea740a0e374b2a0c3ce78209318d34065.tar.gz gdb-84320c4ea740a0e374b2a0c3ce78209318d34065.tar.bz2 |
gdbserver: turn target op '{supports_}stopped_by_sw_breakpoint' into a method
gdbserver/ChangeLog:
2020-02-20 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
Turn process_stratum_target's {supports_}stopped_by_sw_breakpoint
ops into methods of process_target.
* target.h (struct process_stratum_target): Remove the target ops.
(class process_target): Add the target ops.
(target_stopped_by_sw_breakpoint): Update the macro.
(target_supports_stopped_by_sw_breakpoint): Update the macro.
* target.cc (process_target::stopped_by_sw_breakpoint): Define.
(process_target::supports_stopped_by_sw_breakpoint): Define.
Update the derived classes and callers below.
* linux-low.cc (linux_target_ops): Update.
(linux_stopped_by_sw_breakpoint): Turn into ...
(linux_process_target::stopped_by_sw_breakpoint): ... this.
(linux_supports_stopped_by_sw_breakpoint): Turn into ...
(linux_process_target::supports_stopped_by_sw_breakpoint): ... 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.h')
-rw-r--r-- | gdbserver/target.h | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/gdbserver/target.h b/gdbserver/target.h index f04c1c1..563884f 100644 --- a/gdbserver/target.h +++ b/gdbserver/target.h @@ -70,14 +70,6 @@ class process_target; shared code. */ struct process_stratum_target { - /* Returns 1 if the target stopped because it executed a software - breakpoint instruction, 0 otherwise. */ - int (*stopped_by_sw_breakpoint) (void); - - /* Returns true if the target knows whether a trap was caused by a - SW breakpoint triggering. */ - int (*supports_stopped_by_sw_breakpoint) (void); - /* Returns 1 if the target stopped for a hardware breakpoint. */ int (*stopped_by_hw_breakpoint) (void); @@ -476,6 +468,14 @@ public: virtual int remove_point (enum raw_bkpt_type type, CORE_ADDR addr, int size, raw_breakpoint *bp); + + /* Returns true if the target stopped because it executed a software + breakpoint instruction, false otherwise. */ + virtual bool stopped_by_sw_breakpoint (); + + /* Returns true if the target knows whether a trap was caused by a + SW breakpoint triggering. */ + virtual bool supports_stopped_by_sw_breakpoint (); }; extern process_stratum_target *the_target; @@ -659,12 +659,10 @@ target_read_btrace_conf (struct btrace_target_info *tinfo, (*the_target->supports_range_stepping) () : 0) #define target_supports_stopped_by_sw_breakpoint() \ - (the_target->supports_stopped_by_sw_breakpoint ? \ - (*the_target->supports_stopped_by_sw_breakpoint) () : 0) + the_target->pt->supports_stopped_by_sw_breakpoint () #define target_stopped_by_sw_breakpoint() \ - (the_target->stopped_by_sw_breakpoint ? \ - (*the_target->stopped_by_sw_breakpoint) () : 0) + the_target->pt->stopped_by_sw_breakpoint () #define target_supports_stopped_by_hw_breakpoint() \ (the_target->supports_stopped_by_hw_breakpoint ? \ |