From 9690a72ae54450aafaa55872ffcbf8b973660436 Mon Sep 17 00:00:00 2001 From: Tankut Baris Aktemur Date: Mon, 17 Feb 2020 16:11:57 +0100 Subject: gdbserver: turn target ops 'supports_{fork,vfork,exec}_events' into methods gdbserver/ChangeLog: 2020-02-20 Tankut Baris Aktemur Turn process_stratum_target's supports_fork_events, supports_vfork_events, and supports_exec_events ops into methods of process_target. * target.h (struct process_stratum_target): Remove the target ops. (class process_target): Add the target ops. (target_supports_fork_events): Update the macro. (target_supports_vfork_events): Update the macro. (target_supports_exec_events): Update the macro. * target.cc (process_target::supports_fork_events): Define. (process_target::supports_vfork_events): Define. (process_target::supports_exec_events): Define. Update the derived classes and callers below. * linux-low.cc (linux_target_ops): Update. (linux_supports_fork_events): Turn into ... (linux_process_target::supports_fork_events): ... this. (linux_supports_vfork_events): Turn into ... (linux_process_target::supports_vfork_events): ... this. (linux_supports_exec_events): Turn into ... (linux_process_target::supports_exec_events): ... 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. --- gdbserver/target.h | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) (limited to 'gdbserver/target.h') diff --git a/gdbserver/target.h b/gdbserver/target.h index 52c80b8..ef2fd01 100644 --- a/gdbserver/target.h +++ b/gdbserver/target.h @@ -70,15 +70,6 @@ class process_target; shared code. */ struct process_stratum_target { - /* Returns true if fork events are supported. */ - int (*supports_fork_events) (void); - - /* Returns true if vfork events are supported. */ - int (*supports_vfork_events) (void); - - /* Returns true if exec events are supported. */ - int (*supports_exec_events) (void); - /* Allows target to re-initialize connection-specific settings. */ void (*handle_new_gdb_connection) (void); @@ -486,6 +477,15 @@ public: /* Returns true if the target supports multi-process debugging. */ virtual bool supports_multi_process (); + + /* Returns true if fork events are supported. */ + virtual bool supports_fork_events (); + + /* Returns true if vfork events are supported. */ + virtual bool supports_vfork_events (); + + /* Returns true if exec events are supported. */ + virtual bool supports_exec_events (); }; extern process_stratum_target *the_target; @@ -504,16 +504,13 @@ void set_target_ops (process_stratum_target *); int kill_inferior (process_info *proc); #define target_supports_fork_events() \ - (the_target->supports_fork_events ? \ - (*the_target->supports_fork_events) () : 0) + the_target->pt->supports_fork_events () #define target_supports_vfork_events() \ - (the_target->supports_vfork_events ? \ - (*the_target->supports_vfork_events) () : 0) + the_target->pt->supports_vfork_events () #define target_supports_exec_events() \ - (the_target->supports_exec_events ? \ - (*the_target->supports_exec_events) () : 0) + the_target->pt->supports_exec_events () #define target_handle_new_gdb_connection() \ do \ -- cgit v1.1