diff options
author | Tom Tromey <tromey@redhat.com> | 2013-12-18 14:32:43 -0700 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2014-02-19 07:48:09 -0700 |
commit | cd4ae029569aa0c38230f042b39f505ac5b8f732 (patch) | |
tree | 3e4ce9d04d0d31bb06952aff618827fb994c46fd /gdb | |
parent | a134316b1f47741fadfc6d7c3c43acb43261246e (diff) | |
download | gdb-cd4ae029569aa0c38230f042b39f505ac5b8f732.zip gdb-cd4ae029569aa0c38230f042b39f505ac5b8f732.tar.gz gdb-cd4ae029569aa0c38230f042b39f505ac5b8f732.tar.bz2 |
convert to_insert_mask_watchpoint
2014-02-19 Tom Tromey <tromey@redhat.com>
* target-delegates.c: Rebuild.
* target.c (target_insert_mask_watchpoint): Unconditionally
delegate.
* target.h (struct target_ops) <to_insert_mask_watchpoint>: Use
TARGET_DEFAULT_RETURN.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/target-delegates.c | 16 | ||||
-rw-r--r-- | gdb/target.c | 25 | ||||
-rw-r--r-- | gdb/target.h | 3 |
4 files changed, 35 insertions, 17 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1e00118..0f6bd76 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,6 +1,14 @@ 2014-02-19 Tom Tromey <tromey@redhat.com> * target-delegates.c: Rebuild. + * target.c (target_insert_mask_watchpoint): Unconditionally + delegate. + * target.h (struct target_ops) <to_insert_mask_watchpoint>: Use + TARGET_DEFAULT_RETURN. + +2014-02-19 Tom Tromey <tromey@redhat.com> + + * target-delegates.c: Rebuild. * target.c (target_ranged_break_num_registers): Unconditionally delegate. * target.h (struct target_ops) <to_ranged_break_num_registers>: diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index 3def763..934f302 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -203,6 +203,19 @@ tdefault_insert_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2, i } static int +delegate_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3) +{ + self = self->beneath; + return self->to_insert_mask_watchpoint (self, arg1, arg2, arg3); +} + +static int +tdefault_insert_mask_watchpoint (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3) +{ + return 1; +} + +static int delegate_stopped_by_watchpoint (struct target_ops *self) { self = self->beneath; @@ -1136,6 +1149,8 @@ install_delegators (struct target_ops *ops) ops->to_remove_watchpoint = delegate_remove_watchpoint; if (ops->to_insert_watchpoint == NULL) ops->to_insert_watchpoint = delegate_insert_watchpoint; + if (ops->to_insert_mask_watchpoint == NULL) + ops->to_insert_mask_watchpoint = delegate_insert_mask_watchpoint; if (ops->to_stopped_by_watchpoint == NULL) ops->to_stopped_by_watchpoint = delegate_stopped_by_watchpoint; if (ops->to_stopped_data_address == NULL) @@ -1308,6 +1323,7 @@ install_dummy_methods (struct target_ops *ops) 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_insert_mask_watchpoint = tdefault_insert_mask_watchpoint; ops->to_stopped_by_watchpoint = tdefault_stopped_by_watchpoint; ops->to_stopped_data_address = tdefault_stopped_data_address; ops->to_watchpoint_addr_within_range = default_watchpoint_addr_within_range; diff --git a/gdb/target.c b/gdb/target.c index d4e58b0..11f3b7e 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -3830,25 +3830,18 @@ target_verify_memory (const gdb_byte *data, CORE_ADDR memaddr, ULONGEST size) int target_insert_mask_watchpoint (CORE_ADDR addr, CORE_ADDR mask, int rw) { - struct target_ops *t; - - for (t = current_target.beneath; t != NULL; t = t->beneath) - if (t->to_insert_mask_watchpoint != NULL) - { - int ret; + int ret; - ret = t->to_insert_mask_watchpoint (t, addr, mask, rw); + ret = current_target.to_insert_mask_watchpoint (¤t_target, + addr, mask, rw); - if (targetdebug) - fprintf_unfiltered (gdb_stdlog, "\ + if (targetdebug) + fprintf_unfiltered (gdb_stdlog, "\ target_insert_mask_watchpoint (%s, %s, %d) = %d\n", - core_addr_to_string (addr), - core_addr_to_string (mask), rw, ret); - - return ret; - } - - return 1; + core_addr_to_string (addr), + core_addr_to_string (mask), rw, ret); + + return ret; } /* The documentation for this function is in its prototype declaration in diff --git a/gdb/target.h b/gdb/target.h index 25e98ed..012231f 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -477,7 +477,8 @@ struct target_ops TARGET_DEFAULT_RETURN (-1); int (*to_insert_mask_watchpoint) (struct target_ops *, - CORE_ADDR, CORE_ADDR, int); + CORE_ADDR, CORE_ADDR, int) + TARGET_DEFAULT_RETURN (1); int (*to_remove_mask_watchpoint) (struct target_ops *, CORE_ADDR, CORE_ADDR, int); int (*to_stopped_by_watchpoint) (struct target_ops *) |