Blame SOURCES/gdb-rhbz795424-bitpos-22of25.patch

f9426a
http://sourceware.org/ml/gdb-patches/2012-09/msg00629.html
f9426a
Subject: [PATCH 3/4] Expand watchpoint lengths to LONGEST
f9426a
f9426a
f9426a
--MP_/6HRlH6vpyqtSy4CYyMrX6b2
f9426a
Content-Type: text/plain; charset=US-ASCII
f9426a
Content-Transfer-Encoding: 7bit
f9426a
Content-Disposition: inline
f9426a
f9426a
Hi,
f9426a
f9426a
This is part three of the bitpos expansion change.  Some architectures
f9426a
allow arbitrary length watchpoints and combined with the fact that type
f9426a
lengths could be large enough, we need LONGEST for watchpoint lengths.
f9426a
It is architecture dependent however, whether the LONGEST is needed or
f9426a
not.  This patch updates the signatures of watchpoint insertion and
f9426a
removal functions of all architectures (to comply with the function
f9426a
signatures in the callback struct), but expands types only in
f9426a
architectures that need it.  Tested on Fedora 16 x86_64.
f9426a
f9426a
Regards,
f9426a
Siddhesh
f9426a
--MP_/6HRlH6vpyqtSy4CYyMrX6b2
f9426a
Content-Type: text/plain
f9426a
Content-Transfer-Encoding: quoted-printable
f9426a
Content-Disposition: attachment; filename=ChangeLog-wp
f9426a
f9426a
gdb/ChangeLog:
f9426a
f9426a
	* arm-linux-nat.c (arm_linux_insert_watchpoint): Expand
f9426a
	parameter LEN to LONGEST.
f9426a
	(arm_linux_remove_watchpoint): Likewise.
f9426a
	(arm_linux_watchpoint_addr_within_range): Expand parameter
f9426a
	LENGTH to LONGEST.
f9426a
	* i386-nat.c (i386_insert_watchpoint): Expand parameter LEN to
f9426a
	LONGEST.
f9426a
	(i386_remove_watchpoint): Likewise.
f9426a
	* ia64-linux-nat.c (ia64_linux_insert_watchpoint): Likewise.
f9426a
	(ia64_linux_remove_watchpoint): Likewise.
f9426a
	* inf-ttrace.c (inf_ttrace_insert_watchpoint): Likewise.
f9426a
	Expand NUM_PAGES, PAGE to LONGEST.
f9426a
	(inf_ttrace_remove_watchpoint): Likewise.
f9426a
	* mips-linux-nat.c (mips_linux_insert_watchpoint): Expand
f9426a
	parameter LEN to LONGEST.
f9426a
	(mips_linux_remove_watchpoint): Likewise.
f9426a
	* nto-procfs.c (procfs_remove_hw_watchpoint): Likewise.
f9426a
	(procfs_insert_hw_watchpoint): Likewise.
f9426a
	* ppc-linux-nat.c (calculate_dvc): Likewise.  Expand I,
f9426a
	NUM_BYTE_ENABLE to LONGEST.
f9426a
	(check_condition): Expand parameter LEN to point to LONGEST.
f9426a
	(ppc_linux_can_accel_watchpoint_condition): Expand parameter
f9426a
	LEN to LONGEST.
f9426a
	(create_watchpoint_request): Likewise.
f9426a
	(ppc_linux_insert_watchpoint): Likewise.
f9426a
	(ppc_linux_remove_watchpoint): Likewise.
f9426a
	(ppc_linux_watchpoint_addr_within_range): Expand parameter
f9426a
	LENGTH to LONGEST.
f9426a
	* procfs.c (proc_set_watchpoint): Expand parameter LEN to
f9426a
	LONGEST.
f9426a
	(procfs_set_watchpoint): Likewise.
f9426a
	(procfs_insert_watchpoint): Likewise.
f9426a
	(procfs_remove_watchpoint): Likewise.
f9426a
	* remote-m32r-sdi.c (m32r_insert_watchpoint): Likewise.  Use
f9426a
	plongest to format print LEN.
f9426a
	(m32r_remove_watchpoint): Likewise.
f9426a
	* remote-mips.c (mips_insert_watchpoint): Expand parameter LEN
f9426a
	to LONGEST.
f9426a
	(mips_remove_watchpoint): Likewise.
f9426a
	* remote.c (remote_insert_watchpoint): Likewise.
f9426a
	Use phex_nz to format print LEN.
f9426a
	(remote_remove_watchpoint): Likewise.
f9426a
	(remote_watchpoint_addr_within_range): Expand parameter LENGTH
f9426a
	to LONGEST.
f9426a
	* s390-linux-nat.c (s390_insert_watchpoint): Expand parameter LEN to
f9426a
	LONGEST.
f9426a
	(s390_remove_watchpoint): Likewise.
f9426a
	* target.c (update_current_target): Expand parameter LEN for
f9426a
	callbacks to TO_INSERT_WATCHPOINT, TO_REMOVE_WATCHPOINT,
f9426a
	TO_CAN_ACCEL_WATCHPOINT_CONDITION, to LONGEST.
f9426a
	(default_watchpoint_addr_within_range): Expand parameter
f9426a
	LENGTH to LONGEST.
f9426a
	(debug_to_can_accel_watchpoint_condition): Expand parameter LEN
f9426a
	to LONGEST.  Use plongest to format print LEN.
f9426a
	(debug_to_watchpoint_addr_within_range): Expand parameter LENGTH
f9426a
	to LONGEST.  Use plongest to format print LENGTH.
f9426a
	(debug_to_insert_watchpoint): Expand parameter LEN to LONGEST.
f9426a
	Use plongest to format print LEN.
f9426a
	(debug_to_remove_watchpoint): Likewise.
f9426a
	* target.h (struct target_ops): Expand parameter LEN of
f9426a
	TO_REMOVE_WATCHPOINT, TO_INSERT_WATCHPOINT,
f9426a
	TO_WATCHPOINT_ADDR_WITHIN_RANGE and
f9426a
	TO_CAN_ACCEL_WATCHPOINT_CONDITION to LONGEST.
f9426a
f9426a
--MP_/6HRlH6vpyqtSy4CYyMrX6b2
f9426a
Content-Type: text/x-patch
f9426a
Content-Transfer-Encoding: 7bit
f9426a
Content-Disposition: attachment; filename=bitpos-wp.patch
f9426a
f9426a
Index: gdb-7.8/gdb/arm-linux-nat.c
f9426a
===================================================================
f9426a
--- gdb-7.8.orig/gdb/arm-linux-nat.c	2014-08-01 23:27:30.183773676 +0200
f9426a
+++ gdb-7.8/gdb/arm-linux-nat.c	2014-08-01 23:27:30.241773754 +0200
f9426a
@@ -1296,7 +1296,7 @@ arm_linux_stopped_by_watchpoint (struct
f9426a
 static int
f9426a
 arm_linux_watchpoint_addr_within_range (struct target_ops *target,
f9426a
 					CORE_ADDR addr,
f9426a
-					CORE_ADDR start, int length)
f9426a
+					CORE_ADDR start, LONGEST length)
f9426a
 {
f9426a
   return start <= addr && start + length - 1 >= addr;
f9426a
 }
f9426a
Index: gdb-7.8/gdb/ppc-linux-nat.c
f9426a
===================================================================
f9426a
--- gdb-7.8.orig/gdb/ppc-linux-nat.c	2014-08-01 23:27:30.202773701 +0200
f9426a
+++ gdb-7.8/gdb/ppc-linux-nat.c	2014-08-01 23:29:38.311944925 +0200
f9426a
@@ -1862,11 +1862,11 @@ can_use_watchpoint_cond_accel (void)
f9426a
    CONDITION_VALUE will hold the value which should be put in the
f9426a
    DVC register.  */
f9426a
 static void
f9426a
-calculate_dvc (CORE_ADDR addr, int len, CORE_ADDR data_value,
f9426a
+calculate_dvc (CORE_ADDR addr, LONGEST len, CORE_ADDR data_value,
f9426a
 	       uint32_t *condition_mode, uint64_t *condition_value)
f9426a
 {
f9426a
-  int i, num_byte_enable, align_offset, num_bytes_off_dvc,
f9426a
-      rightmost_enabled_byte;
f9426a
+  LONGEST i, num_byte_enable;
f9426a
+  int align_offset, num_bytes_off_dvc, rightmost_enabled_byte;
f9426a
   CORE_ADDR addr_end_data, addr_end_dvc;
f9426a
 
f9426a
   /* The DVC register compares bytes within fixed-length windows which
f9426a
@@ -1953,7 +1953,7 @@ num_memory_accesses (struct value *v)
f9426a
    of the constant.  */
f9426a
 static int
f9426a
 check_condition (CORE_ADDR watch_addr, struct expression *cond,
f9426a
-		 CORE_ADDR *data_value, int *len)
f9426a
+		 CORE_ADDR *data_value, LONGEST *len)
f9426a
 {
f9426a
   int pc = 1, num_accesses_left, num_accesses_right;
f9426a
   struct value *left_val, *right_val, *left_chain, *right_chain;
f9426a
@@ -2021,7 +2021,7 @@ check_condition (CORE_ADDR watch_addr, s
f9426a
    true.  */
f9426a
 static int
f9426a
 ppc_linux_can_accel_watchpoint_condition (struct target_ops *self,
f9426a
-					  CORE_ADDR addr, int len, int rw,
f9426a
+					  CORE_ADDR addr, LONGEST len, int rw,
f9426a
 					  struct expression *cond)
f9426a
 {
f9426a
   CORE_ADDR data_value;
f9426a
@@ -2038,7 +2038,7 @@ ppc_linux_can_accel_watchpoint_condition
f9426a
 
f9426a
 static void
f9426a
 create_watchpoint_request (struct ppc_hw_breakpoint *p, CORE_ADDR addr,
f9426a
-			   int len, int rw, struct expression *cond,
f9426a
+			   LONGEST len, int rw, struct expression *cond,
f9426a
 			   int insert)
f9426a
 {
f9426a
   if (len == 1
f9426a
@@ -2304,7 +2304,7 @@ ppc_linux_stopped_by_watchpoint (struct
f9426a
 static int
f9426a
 ppc_linux_watchpoint_addr_within_range (struct target_ops *target,
f9426a
 					CORE_ADDR addr,
f9426a
-					CORE_ADDR start, int length)
f9426a
+					CORE_ADDR start, LONGEST length)
f9426a
 {
f9426a
   int mask;
f9426a
 
f9426a
Index: gdb-7.8/gdb/procfs.c
f9426a
===================================================================
f9426a
--- gdb-7.8.orig/gdb/procfs.c	2014-08-01 23:27:30.203773703 +0200
f9426a
+++ gdb-7.8/gdb/procfs.c	2014-08-01 23:27:30.243773756 +0200
f9426a
@@ -2429,7 +2429,7 @@ procfs_address_to_host_pointer (CORE_ADD
f9426a
 #endif
f9426a
 
f9426a
 static int
f9426a
-proc_set_watchpoint (procinfo *pi, CORE_ADDR addr, int len, int wflags)
f9426a
+proc_set_watchpoint (procinfo *pi, CORE_ADDR addr, LONGEST len, int wflags)
f9426a
 {
f9426a
 #if !defined (PCWATCH) && !defined (PIOCSWATCH)
f9426a
   /* If neither or these is defined, we can't support watchpoints.
f9426a
@@ -4762,7 +4762,7 @@ procfs_pid_to_str (struct target_ops *op
f9426a
 /* Insert a watchpoint.  */
f9426a
 
f9426a
 static int
f9426a
-procfs_set_watchpoint (ptid_t ptid, CORE_ADDR addr, int len, int rwflag,
f9426a
+procfs_set_watchpoint (ptid_t ptid, CORE_ADDR addr, LONGEST len, int rwflag,
f9426a
 		       int after)
f9426a
 {
f9426a
 #ifndef AIX5
f9426a
Index: gdb-7.8/gdb/remote.c
f9426a
===================================================================
f9426a
--- gdb-7.8.orig/gdb/remote.c	2014-08-01 23:27:30.205773705 +0200
f9426a
+++ gdb-7.8/gdb/remote.c	2014-08-01 23:27:30.246773760 +0200
f9426a
@@ -8206,7 +8206,7 @@ remote_insert_watchpoint (struct target_
f9426a
   p = strchr (rs->buf, '\0');
f9426a
   addr = remote_address_masked (addr);
f9426a
   p += hexnumstr (p, (ULONGEST) addr);
f9426a
-  xsnprintf (p, endbuf - p, ",%x", len);
f9426a
+  xsnprintf (p, endbuf - p, ",%s", phex_nz (len, sizeof (len)));
f9426a
 
f9426a
   putpkt (rs->buf);
f9426a
   getpkt (&rs->buf, &rs->buf_size, 0);
f9426a
@@ -8226,7 +8226,7 @@ remote_insert_watchpoint (struct target_
f9426a
 
f9426a
 static int
f9426a
 remote_watchpoint_addr_within_range (struct target_ops *target, CORE_ADDR addr,
f9426a
-				     CORE_ADDR start, int length)
f9426a
+				     CORE_ADDR start, LONGEST length)
f9426a
 {
f9426a
   CORE_ADDR diff = remote_address_masked (addr - start);
f9426a
 
f9426a
@@ -8256,7 +8256,7 @@ remote_remove_watchpoint (struct target_
f9426a
   p = strchr (rs->buf, '\0');
f9426a
   addr = remote_address_masked (addr);
f9426a
   p += hexnumstr (p, (ULONGEST) addr);
f9426a
-  xsnprintf (p, endbuf - p, ",%x", len);
f9426a
+  xsnprintf (p, endbuf - p, ",%s", phex_nz (len, sizeof (len)));
f9426a
   putpkt (rs->buf);
f9426a
   getpkt (&rs->buf, &rs->buf_size, 0);
f9426a
 
f9426a
Index: gdb-7.8/gdb/target.c
f9426a
===================================================================
f9426a
--- gdb-7.8.orig/gdb/target.c	2014-08-01 23:27:30.206773707 +0200
f9426a
+++ gdb-7.8/gdb/target.c	2014-08-01 23:29:38.314944857 +0200
f9426a
@@ -52,7 +52,7 @@ static void target_info (char *, int);
f9426a
 static void default_terminal_info (struct target_ops *, const char *, int);
f9426a
 
f9426a
 static int default_watchpoint_addr_within_range (struct target_ops *,
f9426a
-						 CORE_ADDR, CORE_ADDR, int);
f9426a
+						 CORE_ADDR, CORE_ADDR, LONGEST);
f9426a
 
f9426a
 static int default_region_ok_for_hw_watchpoint (struct target_ops *,
f9426a
 						CORE_ADDR, LONGEST);
f9426a
@@ -150,13 +150,13 @@ static int debug_to_remove_watchpoint (s
f9426a
 static int debug_to_stopped_data_address (struct target_ops *, CORE_ADDR *);
f9426a
 
f9426a
 static int debug_to_watchpoint_addr_within_range (struct target_ops *,
f9426a
-						  CORE_ADDR, CORE_ADDR, int);
f9426a
+						  CORE_ADDR, CORE_ADDR, LONGEST);
f9426a
 
f9426a
 static int debug_to_region_ok_for_hw_watchpoint (struct target_ops *self,
f9426a
 						 CORE_ADDR, LONGEST);
f9426a
 
f9426a
 static int debug_to_can_accel_watchpoint_condition (struct target_ops *self,
f9426a
-						    CORE_ADDR, int, int,
f9426a
+						    CORE_ADDR, LONGEST, int,
f9426a
 						    struct expression *);
f9426a
 
f9426a
 static void debug_to_terminal_init (struct target_ops *self);
f9426a
@@ -2960,7 +2960,7 @@ default_region_ok_for_hw_watchpoint (str
f9426a
 static int
f9426a
 default_watchpoint_addr_within_range (struct target_ops *target,
f9426a
 				      CORE_ADDR addr,
f9426a
-				      CORE_ADDR start, int length)
f9426a
+				      CORE_ADDR start, LONGEST length)
f9426a
 {
f9426a
   return addr >= start && addr < start + length;
f9426a
 }
f9426a
@@ -3681,7 +3681,7 @@ debug_to_region_ok_for_hw_watchpoint (st
f9426a
 
f9426a
 static int
f9426a
 debug_to_can_accel_watchpoint_condition (struct target_ops *self,
f9426a
-					 CORE_ADDR addr, int len, int rw,
f9426a
+					 CORE_ADDR addr, LONGEST len, int rw,
f9426a
 					 struct expression *cond)
f9426a
 {
f9426a
   int retval;
f9426a
@@ -3692,8 +3692,8 @@ debug_to_can_accel_watchpoint_condition
f9426a
 
f9426a
   fprintf_unfiltered (gdb_stdlog,
f9426a
 		      "target_can_accel_watchpoint_condition "
f9426a
-		      "(%s, %d, %d, %s) = %ld\n",
f9426a
-		      core_addr_to_string (addr), len, rw,
f9426a
+		      "(%s, %s, %d, %s) = %ld\n",
f9426a
+		      core_addr_to_string (addr), plongest (len), rw,
f9426a
 		      host_address_to_string (cond), (unsigned long) retval);
f9426a
   return retval;
f9426a
 }
f9426a
@@ -3728,7 +3728,7 @@ debug_to_stopped_data_address (struct ta
f9426a
 static int
f9426a
 debug_to_watchpoint_addr_within_range (struct target_ops *target,
f9426a
 				       CORE_ADDR addr,
f9426a
-				       CORE_ADDR start, int length)
f9426a
+				       CORE_ADDR start, LONGEST length)
f9426a
 {
f9426a
   int retval;
f9426a
 
f9426a
@@ -3736,9 +3736,9 @@ debug_to_watchpoint_addr_within_range (s
f9426a
 							 start, length);
f9426a
 
f9426a
   fprintf_filtered (gdb_stdlog,
f9426a
-		    "target_watchpoint_addr_within_range (%s, %s, %d) = %d\n",
f9426a
+		    "target_watchpoint_addr_within_range (%s, %s, %s) = %d\n",
f9426a
 		    core_addr_to_string (addr), core_addr_to_string (start),
f9426a
-		    length, retval);
f9426a
+		    plongest (length), retval);
f9426a
   return retval;
f9426a
 }
f9426a
 
f9426a
Index: gdb-7.8/gdb/target.h
f9426a
===================================================================
f9426a
--- gdb-7.8.orig/gdb/target.h	2014-08-01 23:27:30.207773708 +0200
f9426a
+++ gdb-7.8/gdb/target.h	2014-08-01 23:29:38.315944839 +0200
f9426a
@@ -469,7 +469,7 @@ struct target_ops
f9426a
     int (*to_stopped_data_address) (struct target_ops *, CORE_ADDR *)
f9426a
       TARGET_DEFAULT_RETURN (0);
f9426a
     int (*to_watchpoint_addr_within_range) (struct target_ops *,
f9426a
-					    CORE_ADDR, CORE_ADDR, int)
f9426a
+					    CORE_ADDR, CORE_ADDR, LONGEST)
f9426a
       TARGET_DEFAULT_FUNC (default_watchpoint_addr_within_range);
f9426a
 
f9426a
     /* Documentation of this routine is provided with the corresponding
f9426a
@@ -479,7 +479,7 @@ struct target_ops
f9426a
       TARGET_DEFAULT_FUNC (default_region_ok_for_hw_watchpoint);
f9426a
 
f9426a
     int (*to_can_accel_watchpoint_condition) (struct target_ops *,
f9426a
-					      CORE_ADDR, int, int,
f9426a
+					      CORE_ADDR, LONGEST, int,
f9426a
 					      struct expression *)
f9426a
       TARGET_DEFAULT_RETURN (0);
f9426a
     int (*to_masked_watch_num_registers) (struct target_ops *,
f9426a
Index: gdb-7.8/gdb/aarch64-linux-nat.c
f9426a
===================================================================
f9426a
--- gdb-7.8.orig/gdb/aarch64-linux-nat.c	2014-08-01 23:27:30.212773715 +0200
f9426a
+++ gdb-7.8/gdb/aarch64-linux-nat.c	2014-08-01 23:27:30.248773763 +0200
f9426a
@@ -428,14 +428,14 @@ aarch64_notify_debug_reg_change (const s
f9426a
 static void
f9426a
 aarch64_show_debug_reg_state (struct aarch64_debug_reg_state *state,
f9426a
 			      const char *func, CORE_ADDR addr,
f9426a
-			      int len, int type)
f9426a
+			      LONGEST len, int type)
f9426a
 {
f9426a
   int i;
f9426a
 
f9426a
   fprintf_unfiltered (gdb_stdlog, "%s", func);
f9426a
   if (addr || len)
f9426a
-    fprintf_unfiltered (gdb_stdlog, " (addr=0x%08lx, len=%d, type=%s)",
f9426a
-			(unsigned long) addr, len,
f9426a
+    fprintf_unfiltered (gdb_stdlog, " (addr=0x%08lx, len=%s, type=%s)",
f9426a
+			(unsigned long) addr, plongest (len),
f9426a
 			type == hw_write ? "hw-write-watchpoint"
f9426a
 			: (type == hw_read ? "hw-read-watchpoint"
f9426a
 			   : (type == hw_access ? "hw-access-watchpoint"
f9426a
@@ -869,9 +869,10 @@ aarch64_linux_read_description (struct t
f9426a
    gdbserver/linux-aarch64-low.c for more information.  */
f9426a
 
f9426a
 static void
f9426a
-aarch64_align_watchpoint (CORE_ADDR addr, int len, CORE_ADDR *aligned_addr_p,
f9426a
+aarch64_align_watchpoint (CORE_ADDR addr, LONGEST len,
f9426a
+			  CORE_ADDR *aligned_addr_p,
f9426a
 			  int *aligned_len_p, CORE_ADDR *next_addr_p,
f9426a
-			  int *next_len_p)
f9426a
+			  LONGEST *next_len_p)
f9426a
 {
f9426a
   int aligned_len;
f9426a
   unsigned int offset;
f9426a
@@ -1038,7 +1039,7 @@ aarch64_point_encode_ctrl_reg (int type,
f9426a
    Return 0 for any non-compliant ADDR and/or LEN; return 1 otherwise.  */
f9426a
 
f9426a
 static int
f9426a
-aarch64_point_is_aligned (int is_watchpoint, CORE_ADDR addr, int len)
f9426a
+aarch64_point_is_aligned (int is_watchpoint, CORE_ADDR addr, LONGEST len)
f9426a
 {
f9426a
   unsigned int alignment = is_watchpoint ? AARCH64_HWP_ALIGNMENT
f9426a
     : AARCH64_HBP_ALIGNMENT;
f9426a
@@ -1290,7 +1291,7 @@ aarch64_handle_aligned_watchpoint (int t
f9426a
    Return 0 if succeed.  */
f9426a
 
f9426a
 static int
f9426a
-aarch64_handle_unaligned_watchpoint (int type, CORE_ADDR addr, int len,
f9426a
+aarch64_handle_unaligned_watchpoint (int type, CORE_ADDR addr, LONGEST len,
f9426a
 				     int is_insert)
f9426a
 {
f9426a
   struct aarch64_debug_reg_state *state
f9426a
@@ -1315,8 +1316,8 @@ aarch64_handle_unaligned_watchpoint (int
f9426a
 	fprintf_unfiltered (gdb_stdlog,
f9426a
 "handle_unaligned_watchpoint: is_insert: %d\n"
f9426a
 "                             aligned_addr: 0x%08lx, aligned_len: %d\n"
f9426a
-"                                next_addr: 0x%08lx,    next_len: %d\n",
f9426a
-		 is_insert, aligned_addr, aligned_len, addr, len);
f9426a
+"                                next_addr: 0x%08lx,    next_len: %s\n",
f9426a
+		 is_insert, aligned_addr, aligned_len, addr, plongest (len));
f9426a
 
f9426a
       if (ret != 0)
f9426a
 	return ret;
f9426a
@@ -1328,7 +1329,7 @@ aarch64_handle_unaligned_watchpoint (int
f9426a
 /* Implements insertion and removal of a single watchpoint.  */
f9426a
 
f9426a
 static int
f9426a
-aarch64_handle_watchpoint (int type, CORE_ADDR addr, int len, int is_insert)
f9426a
+aarch64_handle_watchpoint (int type, CORE_ADDR addr, LONGEST len, int is_insert)
f9426a
 {
f9426a
   if (aarch64_point_is_aligned (1 /* is_watchpoint */ , addr, len))
f9426a
     return aarch64_handle_aligned_watchpoint (type, addr, len, is_insert);
f9426a
@@ -1497,7 +1498,7 @@ aarch64_linux_stopped_by_watchpoint (str
f9426a
 static int
f9426a
 aarch64_linux_watchpoint_addr_within_range (struct target_ops *target,
f9426a
 					    CORE_ADDR addr,
f9426a
-					    CORE_ADDR start, int length)
f9426a
+					    CORE_ADDR start, LONGEST length)
f9426a
 {
f9426a
   return start <= addr && start + length - 1 >= addr;
f9426a
 }
f9426a
Index: gdb-7.8/gdb/target-delegates.c
f9426a
===================================================================
f9426a
--- gdb-7.8.orig/gdb/target-delegates.c	2014-08-01 23:27:30.212773715 +0200
f9426a
+++ gdb-7.8/gdb/target-delegates.c	2014-08-01 23:29:38.313944877 +0200
f9426a
@@ -261,7 +261,7 @@ tdefault_stopped_data_address (struct ta
f9426a
 }
f9426a
 
f9426a
 static int
f9426a
-delegate_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
f9426a
+delegate_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, LONGEST arg3)
f9426a
 {
f9426a
   self = self->beneath;
f9426a
   return self->to_watchpoint_addr_within_range (self, arg1, arg2, arg3);
f9426a
@@ -275,14 +275,14 @@ delegate_region_ok_for_hw_watchpoint (st
f9426a
 }
f9426a
 
f9426a
 static int
f9426a
-delegate_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
f9426a
+delegate_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, LONGEST arg2, int arg3, struct expression *arg4)
f9426a
 {
f9426a
   self = self->beneath;
f9426a
   return self->to_can_accel_watchpoint_condition (self, arg1, arg2, arg3, arg4);
f9426a
 }
f9426a
 
f9426a
 static int
f9426a
-tdefault_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
f9426a
+tdefault_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, LONGEST arg2, int arg3, struct expression *arg4)
f9426a
 {
f9426a
   return 0;
f9426a
 }