aboutsummaryrefslogtreecommitdiff
path: root/gdb/remote.c
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2012-02-24 23:48:37 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2012-02-24 23:48:37 +0000
commit283002cf5e5f9bd2679d4319769d22b30c6c2881 (patch)
tree3327f930a3e4e60a8a6c477824b91bcdbfbff637 /gdb/remote.c
parent9b3e86b1b66d54e17669285cb60b0e3e2f17468e (diff)
downloadbinutils-283002cf5e5f9bd2679d4319769d22b30c6c2881.zip
binutils-283002cf5e5f9bd2679d4319769d22b30c6c2881.tar.gz
binutils-283002cf5e5f9bd2679d4319769d22b30c6c2881.tar.bz2
* remote.c (remote_watchpoint_addr_within_range): New function.
(init_remote_ops): Use it.
Diffstat (limited to 'gdb/remote.c')
-rw-r--r--gdb/remote.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/remote.c b/gdb/remote.c
index 68c8fd2..2719241 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -7904,6 +7904,15 @@ remote_insert_watchpoint (CORE_ADDR addr, int len, int type,
_("remote_insert_watchpoint: reached end of function"));
}
+static int
+remote_watchpoint_addr_within_range (struct target_ops *target, CORE_ADDR addr,
+ CORE_ADDR start, int length)
+{
+ CORE_ADDR diff = remote_address_masked (addr - start);
+
+ return diff < length;
+}
+
static int
remote_remove_watchpoint (CORE_ADDR addr, int len, int type,
@@ -10775,6 +10784,8 @@ Specify the serial device it is connected to\n\
remote_ops.to_remove_breakpoint = remote_remove_breakpoint;
remote_ops.to_stopped_by_watchpoint = remote_stopped_by_watchpoint;
remote_ops.to_stopped_data_address = remote_stopped_data_address;
+ remote_ops.to_watchpoint_addr_within_range =
+ remote_watchpoint_addr_within_range;
remote_ops.to_can_use_hw_breakpoint = remote_check_watch_resources;
remote_ops.to_insert_hw_breakpoint = remote_insert_hw_breakpoint;
remote_ops.to_remove_hw_breakpoint = remote_remove_hw_breakpoint;