diff options
Diffstat (limited to 'gdb/x86-linux-nat.c')
-rw-r--r-- | gdb/x86-linux-nat.c | 80 |
1 files changed, 25 insertions, 55 deletions
diff --git a/gdb/x86-linux-nat.c b/gdb/x86-linux-nat.c index a3bdaff..0910d00 100644 --- a/gdb/x86-linux-nat.c +++ b/gdb/x86-linux-nat.c @@ -27,7 +27,6 @@ #include <sys/uio.h> #include "x86-nat.h" -#include "linux-nat.h" #ifndef __x86_64__ #include "i386-linux-nat.h" #endif @@ -78,14 +77,15 @@ x86_linux_new_fork (struct lwp_info *parent, pid_t child_pid) } -static void (*super_post_startup_inferior) (struct target_ops *self, - ptid_t ptid); +x86_linux_nat_target::~x86_linux_nat_target () +{ +} -static void -x86_linux_child_post_startup_inferior (struct target_ops *self, ptid_t ptid) +void +x86_linux_nat_target::post_startup_inferior (ptid_t ptid) { x86_cleanup_dregs (); - super_post_startup_inferior (self, ptid); + linux_nat_target::post_startup_inferior (ptid); } #ifdef __x86_64__ @@ -102,8 +102,8 @@ x86_linux_child_post_startup_inferior (struct target_ops *self, ptid_t ptid) /* Get Linux/x86 target description from running target. */ -static const struct target_desc * -x86_linux_read_description (struct target_ops *ops) +const struct target_desc * +x86_linux_nat_target::read_description () { int tid; int is_64bit = 0; @@ -212,9 +212,9 @@ x86_linux_read_description (struct target_ops *ops) /* Enable branch tracing. */ -static struct btrace_target_info * -x86_linux_enable_btrace (struct target_ops *self, ptid_t ptid, - const struct btrace_config *conf) +struct btrace_target_info * +x86_linux_nat_target::enable_btrace (ptid_t ptid, + const struct btrace_config *conf) { struct btrace_target_info *tinfo = nullptr; TRY @@ -233,9 +233,8 @@ x86_linux_enable_btrace (struct target_ops *self, ptid_t ptid, /* Disable branch tracing. */ -static void -x86_linux_disable_btrace (struct target_ops *self, - struct btrace_target_info *tinfo) +void +x86_linux_nat_target::disable_btrace (struct btrace_target_info *tinfo) { enum btrace_error errcode = linux_disable_btrace (tinfo); @@ -245,28 +244,25 @@ x86_linux_disable_btrace (struct target_ops *self, /* Teardown branch tracing. */ -static void -x86_linux_teardown_btrace (struct target_ops *self, - struct btrace_target_info *tinfo) +void +x86_linux_nat_target::teardown_btrace (struct btrace_target_info *tinfo) { /* Ignore errors. */ linux_disable_btrace (tinfo); } -static enum btrace_error -x86_linux_read_btrace (struct target_ops *self, - struct btrace_data *data, - struct btrace_target_info *btinfo, - enum btrace_read_type type) +enum btrace_error +x86_linux_nat_target::read_btrace (struct btrace_data *data, + struct btrace_target_info *btinfo, + enum btrace_read_type type) { return linux_read_btrace (data, btinfo, type); } /* See to_btrace_conf in target.h. */ -static const struct btrace_config * -x86_linux_btrace_conf (struct target_ops *self, - const struct btrace_target_info *btinfo) +const struct btrace_config * +x86_linux_nat_target::btrace_conf (const struct btrace_target_info *btinfo) { return linux_btrace_conf (btinfo); } @@ -315,16 +311,12 @@ x86_linux_get_thread_area (pid_t pid, void *addr, unsigned int *base_addr) } -/* Create an x86 GNU/Linux target. */ +/* Add an x86 GNU/Linux target. */ -struct target_ops * -x86_linux_create_target (void) +void +x86_linux_add_target (linux_nat_target *t) { - /* Fill in the generic GNU/Linux methods. */ - struct target_ops *t = linux_target (); - /* Initialize the debug register function vectors. */ - x86_use_watchpoints (t); x86_dr_low.set_control = x86_linux_dr_set_control; x86_dr_low.set_addr = x86_linux_dr_set_addr; x86_dr_low.get_addr = x86_linux_dr_get_addr; @@ -332,29 +324,7 @@ x86_linux_create_target (void) x86_dr_low.get_control = x86_linux_dr_get_control; x86_set_debug_register_length (sizeof (void *)); - /* Override the GNU/Linux inferior startup hook. */ - super_post_startup_inferior = t->to_post_startup_inferior; - t->to_post_startup_inferior = x86_linux_child_post_startup_inferior; - - /* Add the description reader. */ - t->to_read_description = x86_linux_read_description; - - /* Add btrace methods. */ - t->to_enable_btrace = x86_linux_enable_btrace; - t->to_disable_btrace = x86_linux_disable_btrace; - t->to_teardown_btrace = x86_linux_teardown_btrace; - t->to_read_btrace = x86_linux_read_btrace; - t->to_btrace_conf = x86_linux_btrace_conf; - - return t; -} - -/* Add an x86 GNU/Linux target. */ - -void -x86_linux_add_target (struct target_ops *t) -{ - linux_nat_add_target (t); + add_target (t); linux_nat_set_new_thread (t, x86_linux_new_thread); linux_nat_set_delete_thread (t, x86_linux_delete_thread); linux_nat_set_new_fork (t, x86_linux_new_fork); |