diff options
author | Tom Tromey <tromey@redhat.com> | 2013-12-18 10:11:49 -0700 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2014-02-19 07:47:09 -0700 |
commit | 61dd109f607a5fdf662af026f46a5695baa2a795 (patch) | |
tree | 2a281507cb79dbf9c164617121b200be160d753b | |
parent | 016facd45b2dcd11afea6d1733faf5defafce8ae (diff) | |
download | gdb-61dd109f607a5fdf662af026f46a5695baa2a795.zip gdb-61dd109f607a5fdf662af026f46a5695baa2a795.tar.gz gdb-61dd109f607a5fdf662af026f46a5695baa2a795.tar.bz2 |
convert to_remove_watchpoint
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (update_current_target): Don't inherit or default
to_remove_watchpoint.
* target.h (struct target_ops) <to_remove_watchpoint>: Use
TARGET_DEFAULT_NORETURN.
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/target-delegates.c | 16 | ||||
-rw-r--r-- | gdb/target.c | 6 | ||||
-rw-r--r-- | gdb/target.h | 3 |
4 files changed, 27 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 87eb928..cba171f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -2,6 +2,14 @@ * target-delegates.c: Rebuild. * target.c (update_current_target): Don't inherit or default + to_remove_watchpoint. + * target.h (struct target_ops) <to_remove_watchpoint>: Use + TARGET_DEFAULT_NORETURN. + +2014-02-19 Tom Tromey <tromey@redhat.com> + + * target-delegates.c: Rebuild. + * target.c (update_current_target): Don't inherit or default to_insert_watchpoint. * target.h (struct target_ops) <to_insert_watchpoint>: Use TARGET_DEFAULT_RETURN. diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index 0d62cff..986ef1d 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -152,6 +152,19 @@ tdefault_remove_hw_breakpoint (struct target_ops *self, struct gdbarch *arg1, st } static int +delegate_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4) +{ + self = self->beneath; + return self->to_remove_watchpoint (self, arg1, arg2, arg3, arg4); +} + +static int +tdefault_remove_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4) +{ + return -1; +} + +static int delegate_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4) { self = self->beneath; @@ -279,6 +292,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_remove_watchpoint == NULL) + ops->to_remove_watchpoint = delegate_remove_watchpoint; if (ops->to_insert_watchpoint == NULL) ops->to_insert_watchpoint = delegate_insert_watchpoint; if (ops->to_stopped_by_watchpoint == NULL) @@ -315,6 +330,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_remove_watchpoint = tdefault_remove_watchpoint; 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; diff --git a/gdb/target.c b/gdb/target.c index b19eb40..29fe295 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -609,7 +609,7 @@ update_current_target (void) /* Do not inherit to_remove_hw_breakpoint. */ /* Do not inherit to_ranged_break_num_registers. */ /* Do not inherit to_insert_watchpoint. */ - INHERIT (to_remove_watchpoint, t); + /* Do not inherit to_remove_watchpoint. */ /* Do not inherit to_insert_mask_watchpoint. */ /* Do not inherit to_remove_mask_watchpoint. */ /* Do not inherit to_stopped_data_address. */ @@ -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_remove_watchpoint, - (int (*) (struct target_ops *, CORE_ADDR, int, int, - struct expression *)) - return_minus_one); de_fault (to_watchpoint_addr_within_range, default_watchpoint_addr_within_range); de_fault (to_region_ok_for_hw_watchpoint, diff --git a/gdb/target.h b/gdb/target.h index 02ca292..fbaf072 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -468,7 +468,8 @@ struct target_ops /* Documentation of what the two routines below are expected to do is provided with the corresponding target_* macros. */ int (*to_remove_watchpoint) (struct target_ops *, - CORE_ADDR, int, int, struct expression *); + CORE_ADDR, int, int, struct expression *) + TARGET_DEFAULT_RETURN (-1); int (*to_insert_watchpoint) (struct target_ops *, CORE_ADDR, int, int, struct expression *) TARGET_DEFAULT_RETURN (-1); |