From 016facd45b2dcd11afea6d1733faf5defafce8ae Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 18 Dec 2013 10:08:59 -0700 Subject: [PATCH] convert to_insert_watchpoint 2014-02-19 Tom Tromey * target-delegates.c: Rebuild. * target.c (update_current_target): Don't inherit or default to_insert_watchpoint. * target.h (struct target_ops) : Use TARGET_DEFAULT_RETURN. --- gdb/ChangeLog | 8 ++++++++ gdb/target-delegates.c | 16 ++++++++++++++++ gdb/target.c | 6 +----- gdb/target.h | 3 ++- 4 files changed, 27 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 81fd3f412d..87eb928e03 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2014-02-19 Tom Tromey + + * target-delegates.c: Rebuild. + * target.c (update_current_target): Don't inherit or default + to_insert_watchpoint. + * target.h (struct target_ops) : Use + TARGET_DEFAULT_RETURN. + 2014-02-19 Tom Tromey * target-delegates.c: Rebuild. diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index da91fb0fae..0d62cffc8c 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -151,6 +151,19 @@ tdefault_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, st return -1; } +static int +delegate_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4) +{ + self = self->beneath; + return self->to_insert_watchpoint (self, arg1, arg2, arg3, arg4); +} + +static int +tdefault_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4) +{ + return -1; +} + static int delegate_stopped_by_watchpoint (struct target_ops *self) { @@ -266,6 +279,8 @@ install_delegators (struct target_ops *ops) ops->to_insert_hw_breakpoint = delegate_insert_hw_breakpoint; if (ops->to_remove_hw_breakpoint == NULL) ops->to_remove_hw_breakpoint = delegate_remove_hw_breakpoint; + if (ops->to_insert_watchpoint == NULL) + ops->to_insert_watchpoint = delegate_insert_watchpoint; if (ops->to_stopped_by_watchpoint == NULL) ops->to_stopped_by_watchpoint = delegate_stopped_by_watchpoint; if (ops->to_stopped_data_address == NULL) @@ -300,6 +315,7 @@ install_dummy_methods (struct target_ops *ops) ops->to_can_use_hw_breakpoint = tdefault_can_use_hw_breakpoint; ops->to_insert_hw_breakpoint = tdefault_insert_hw_breakpoint; ops->to_remove_hw_breakpoint = tdefault_remove_hw_breakpoint; + ops->to_insert_watchpoint = tdefault_insert_watchpoint; ops->to_stopped_by_watchpoint = tdefault_stopped_by_watchpoint; ops->to_stopped_data_address = tdefault_stopped_data_address; ops->to_rcmd = default_rcmd; diff --git a/gdb/target.c b/gdb/target.c index eb9a21c0e0..b19eb406f2 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -608,7 +608,7 @@ update_current_target (void) /* Do not inherit to_insert_hw_breakpoint. */ /* Do not inherit to_remove_hw_breakpoint. */ /* Do not inherit to_ranged_break_num_registers. */ - INHERIT (to_insert_watchpoint, t); + /* Do not inherit to_insert_watchpoint. */ INHERIT (to_remove_watchpoint, t); /* Do not inherit to_insert_mask_watchpoint. */ /* Do not inherit to_remove_mask_watchpoint. */ @@ -734,10 +734,6 @@ update_current_target (void) (int (*) (CORE_ADDR, gdb_byte *, int, int, struct mem_attrib *, struct target_ops *)) nomemory); - de_fault (to_insert_watchpoint, - (int (*) (struct target_ops *, CORE_ADDR, int, int, - struct expression *)) - return_minus_one); de_fault (to_remove_watchpoint, (int (*) (struct target_ops *, CORE_ADDR, int, int, struct expression *)) diff --git a/gdb/target.h b/gdb/target.h index 32cf4f6693..02ca292a89 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -470,7 +470,8 @@ struct target_ops int (*to_remove_watchpoint) (struct target_ops *, CORE_ADDR, int, int, struct expression *); int (*to_insert_watchpoint) (struct target_ops *, - CORE_ADDR, int, int, struct expression *); + CORE_ADDR, int, int, struct expression *) + TARGET_DEFAULT_RETURN (-1); int (*to_insert_mask_watchpoint) (struct target_ops *, CORE_ADDR, CORE_ADDR, int);