aboutsummaryrefslogtreecommitdiff
path: root/gdbserver/target.h
diff options
context:
space:
mode:
authorTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2020-02-17 16:11:55 +0100
committerTankut Baris Aktemur <tankut.baris.aktemur@intel.com>2020-02-20 17:35:07 +0100
commit84320c4ea740a0e374b2a0c3ce78209318d34065 (patch)
tree429b009a345c62eaa7c9bdac531094532aaf62d7 /gdbserver/target.h
parent7e0bde70ca4ea73461365e95d2fcaae8fb925ab4 (diff)
downloadgdb-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.h22
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 ? \