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

2c2fa1
http://sourceware.org/ml/gdb-patches/2012-09/msg00629.html
2c2fa1
Subject: [PATCH 3/4] Expand watchpoint lengths to LONGEST
2c2fa1
2c2fa1
2c2fa1
--MP_/6HRlH6vpyqtSy4CYyMrX6b2
2c2fa1
Content-Type: text/plain; charset=US-ASCII
2c2fa1
Content-Transfer-Encoding: 7bit
2c2fa1
Content-Disposition: inline
2c2fa1
2c2fa1
Hi,
2c2fa1
2c2fa1
This is part three of the bitpos expansion change.  Some architectures
2c2fa1
allow arbitrary length watchpoints and combined with the fact that type
2c2fa1
lengths could be large enough, we need LONGEST for watchpoint lengths.
2c2fa1
It is architecture dependent however, whether the LONGEST is needed or
2c2fa1
not.  This patch updates the signatures of watchpoint insertion and
2c2fa1
removal functions of all architectures (to comply with the function
2c2fa1
signatures in the callback struct), but expands types only in
2c2fa1
architectures that need it.  Tested on Fedora 16 x86_64.
2c2fa1
2c2fa1
Regards,
2c2fa1
Siddhesh
2c2fa1
--MP_/6HRlH6vpyqtSy4CYyMrX6b2
2c2fa1
Content-Type: text/plain
2c2fa1
Content-Transfer-Encoding: quoted-printable
2c2fa1
Content-Disposition: attachment; filename=ChangeLog-wp
2c2fa1
2c2fa1
gdb/ChangeLog:
2c2fa1
2c2fa1
	* arm-linux-nat.c (arm_linux_insert_watchpoint): Expand
2c2fa1
	parameter LEN to LONGEST.
2c2fa1
	(arm_linux_remove_watchpoint): Likewise.
2c2fa1
	(arm_linux_watchpoint_addr_within_range): Expand parameter
2c2fa1
	LENGTH to LONGEST.
2c2fa1
	* i386-nat.c (i386_insert_watchpoint): Expand parameter LEN to
2c2fa1
	LONGEST.
2c2fa1
	(i386_remove_watchpoint): Likewise.
2c2fa1
	* ia64-linux-nat.c (ia64_linux_insert_watchpoint): Likewise.
2c2fa1
	(ia64_linux_remove_watchpoint): Likewise.
2c2fa1
	* inf-ttrace.c (inf_ttrace_insert_watchpoint): Likewise.
2c2fa1
	Expand NUM_PAGES, PAGE to LONGEST.
2c2fa1
	(inf_ttrace_remove_watchpoint): Likewise.
2c2fa1
	* mips-linux-nat.c (mips_linux_insert_watchpoint): Expand
2c2fa1
	parameter LEN to LONGEST.
2c2fa1
	(mips_linux_remove_watchpoint): Likewise.
2c2fa1
	* nto-procfs.c (procfs_remove_hw_watchpoint): Likewise.
2c2fa1
	(procfs_insert_hw_watchpoint): Likewise.
2c2fa1
	* ppc-linux-nat.c (calculate_dvc): Likewise.  Expand I,
2c2fa1
	NUM_BYTE_ENABLE to LONGEST.
2c2fa1
	(check_condition): Expand parameter LEN to point to LONGEST.
2c2fa1
	(ppc_linux_can_accel_watchpoint_condition): Expand parameter
2c2fa1
	LEN to LONGEST.
2c2fa1
	(create_watchpoint_request): Likewise.
2c2fa1
	(ppc_linux_insert_watchpoint): Likewise.
2c2fa1
	(ppc_linux_remove_watchpoint): Likewise.
2c2fa1
	(ppc_linux_watchpoint_addr_within_range): Expand parameter
2c2fa1
	LENGTH to LONGEST.
2c2fa1
	* procfs.c (proc_set_watchpoint): Expand parameter LEN to
2c2fa1
	LONGEST.
2c2fa1
	(procfs_set_watchpoint): Likewise.
2c2fa1
	(procfs_insert_watchpoint): Likewise.
2c2fa1
	(procfs_remove_watchpoint): Likewise.
2c2fa1
	* remote-m32r-sdi.c (m32r_insert_watchpoint): Likewise.  Use
2c2fa1
	plongest to format print LEN.
2c2fa1
	(m32r_remove_watchpoint): Likewise.
2c2fa1
	* remote-mips.c (mips_insert_watchpoint): Expand parameter LEN
2c2fa1
	to LONGEST.
2c2fa1
	(mips_remove_watchpoint): Likewise.
2c2fa1
	* remote.c (remote_insert_watchpoint): Likewise.
2c2fa1
	Use phex_nz to format print LEN.
2c2fa1
	(remote_remove_watchpoint): Likewise.
2c2fa1
	(remote_watchpoint_addr_within_range): Expand parameter LENGTH
2c2fa1
	to LONGEST.
2c2fa1
	* s390-nat.c (s390_insert_watchpoint): Expand parameter LEN to
2c2fa1
	LONGEST.
2c2fa1
	(s390_remove_watchpoint): Likewise.
2c2fa1
	* target.c (update_current_target): Expand parameter LEN for
2c2fa1
	callbacks to TO_INSERT_WATCHPOINT, TO_REMOVE_WATCHPOINT,
2c2fa1
	TO_CAN_ACCEL_WATCHPOINT_CONDITION, to LONGEST.
2c2fa1
	(default_watchpoint_addr_within_range): Expand parameter
2c2fa1
	LENGTH to LONGEST.
2c2fa1
	(debug_to_can_accel_watchpoint_condition): Expand parameter LEN
2c2fa1
	to LONGEST.  Use plongest to format print LEN.
2c2fa1
	(debug_to_watchpoint_addr_within_range): Expand parameter LENGTH
2c2fa1
	to LONGEST.  Use plongest to format print LENGTH.
2c2fa1
	(debug_to_insert_watchpoint): Expand parameter LEN to LONGEST.
2c2fa1
	Use plongest to format print LEN.
2c2fa1
	(debug_to_remove_watchpoint): Likewise.
2c2fa1
	* target.h (struct target_ops): Expand parameter LEN of
2c2fa1
	TO_REMOVE_WATCHPOINT, TO_INSERT_WATCHPOINT,
2c2fa1
	TO_WATCHPOINT_ADDR_WITHIN_RANGE and
2c2fa1
	TO_CAN_ACCEL_WATCHPOINT_CONDITION to LONGEST.
2c2fa1
2c2fa1
--MP_/6HRlH6vpyqtSy4CYyMrX6b2
2c2fa1
Content-Type: text/x-patch
2c2fa1
Content-Transfer-Encoding: 7bit
2c2fa1
Content-Disposition: attachment; filename=bitpos-wp.patch
2c2fa1
2c2fa1
Index: gdb-7.5.50.20130215/gdb/arm-linux-nat.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/arm-linux-nat.c	2013-02-15 22:40:18.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/arm-linux-nat.c	2013-02-15 22:42:45.988804306 +0100
2c2fa1
@@ -1105,7 +1105,7 @@ arm_linux_region_ok_for_hw_watchpoint (C
2c2fa1
 
2c2fa1
 /* Insert a Hardware breakpoint.  */
2c2fa1
 static int
2c2fa1
-arm_linux_insert_watchpoint (CORE_ADDR addr, int len, int rw,
2c2fa1
+arm_linux_insert_watchpoint (CORE_ADDR addr, LONGEST len, int rw,
2c2fa1
 			     struct expression *cond)
2c2fa1
 {
2c2fa1
   struct lwp_info *lp;
2c2fa1
@@ -1123,7 +1123,7 @@ arm_linux_insert_watchpoint (CORE_ADDR a
2c2fa1
 
2c2fa1
 /* Remove a hardware breakpoint.  */
2c2fa1
 static int
2c2fa1
-arm_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw,
2c2fa1
+arm_linux_remove_watchpoint (CORE_ADDR addr, LONGEST len, int rw,
2c2fa1
 			     struct expression *cond)
2c2fa1
 {
2c2fa1
   struct lwp_info *lp;
2c2fa1
@@ -1180,7 +1180,7 @@ arm_linux_stopped_by_watchpoint (void)
2c2fa1
 static int
2c2fa1
 arm_linux_watchpoint_addr_within_range (struct target_ops *target,
2c2fa1
 					CORE_ADDR addr,
2c2fa1
-					CORE_ADDR start, int length)
2c2fa1
+					CORE_ADDR start, LONGEST length)
2c2fa1
 {
2c2fa1
   return start <= addr && start + length - 1 >= addr;
2c2fa1
 }
2c2fa1
Index: gdb-7.5.50.20130215/gdb/i386-nat.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/i386-nat.c	2013-02-15 22:41:53.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/i386-nat.c	2013-02-15 22:43:14.005838741 +0100
2c2fa1
@@ -589,7 +589,7 @@ i386_update_inferior_debug_regs (struct
2c2fa1
    of the type TYPE.  Return 0 on success, -1 on failure.  */
2c2fa1
 
2c2fa1
 static int
2c2fa1
-i386_insert_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+i386_insert_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			struct expression *cond)
2c2fa1
 {
2c2fa1
   struct i386_debug_reg_state *state
2c2fa1
@@ -627,7 +627,7 @@ i386_insert_watchpoint (CORE_ADDR addr,
2c2fa1
    address ADDR, whose length is LEN bytes, and for accesses of the
2c2fa1
    type TYPE.  Return 0 on success, -1 on failure.  */
2c2fa1
 static int
2c2fa1
-i386_remove_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+i386_remove_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			struct expression *cond)
2c2fa1
 {
2c2fa1
   struct i386_debug_reg_state *state
2c2fa1
Index: gdb-7.5.50.20130215/gdb/ia64-linux-nat.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/ia64-linux-nat.c	2013-02-15 22:34:18.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/ia64-linux-nat.c	2013-02-15 22:42:45.989804309 +0100
2c2fa1
@@ -542,7 +542,7 @@ is_power_of_2 (int val)
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-ia64_linux_insert_watchpoint (CORE_ADDR addr, int len, int rw,
2c2fa1
+ia64_linux_insert_watchpoint (CORE_ADDR addr, LONGEST len, int rw,
2c2fa1
 			      struct expression *cond)
2c2fa1
 {
2c2fa1
   struct lwp_info *lp;
2c2fa1
@@ -596,7 +596,7 @@ ia64_linux_insert_watchpoint (CORE_ADDR
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-ia64_linux_remove_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+ia64_linux_remove_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			      struct expression *cond)
2c2fa1
 {
2c2fa1
   int idx;
2c2fa1
Index: gdb-7.5.50.20130215/gdb/inf-ttrace.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/inf-ttrace.c	2013-02-15 22:40:18.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/inf-ttrace.c	2013-02-15 22:42:45.989804309 +0100
2c2fa1
@@ -313,14 +313,14 @@ inf_ttrace_disable_page_protections (pid
2c2fa1
    type TYPE.  */
2c2fa1
 
2c2fa1
 static int
2c2fa1
-inf_ttrace_insert_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+inf_ttrace_insert_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			      struct expression *cond)
2c2fa1
 {
2c2fa1
   const int pagesize = inf_ttrace_page_dict.pagesize;
2c2fa1
   pid_t pid = ptid_get_pid (inferior_ptid);
2c2fa1
   CORE_ADDR page_addr;
2c2fa1
-  int num_pages;
2c2fa1
-  int page;
2c2fa1
+  LONGEST num_pages;
2c2fa1
+  LONGEST page;
2c2fa1
 
2c2fa1
   gdb_assert (type == hw_write);
2c2fa1
 
2c2fa1
@@ -337,14 +337,14 @@ inf_ttrace_insert_watchpoint (CORE_ADDR
2c2fa1
    type TYPE.  */
2c2fa1
 
2c2fa1
 static int
2c2fa1
-inf_ttrace_remove_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+inf_ttrace_remove_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			      struct expression *cond)
2c2fa1
 {
2c2fa1
   const int pagesize = inf_ttrace_page_dict.pagesize;
2c2fa1
   pid_t pid = ptid_get_pid (inferior_ptid);
2c2fa1
   CORE_ADDR page_addr;
2c2fa1
-  int num_pages;
2c2fa1
-  int page;
2c2fa1
+  LONGEST num_pages;
2c2fa1
+  LONGEST page;
2c2fa1
 
2c2fa1
   gdb_assert (type == hw_write);
2c2fa1
 
2c2fa1
Index: gdb-7.5.50.20130215/gdb/mips-linux-nat.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/mips-linux-nat.c	2013-02-15 22:40:18.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/mips-linux-nat.c	2013-02-15 22:42:45.990804311 +0100
2c2fa1
@@ -1017,7 +1017,7 @@ populate_regs_from_watches (struct pt_wa
2c2fa1
    watch.  Return zero on success.  */
2c2fa1
 
2c2fa1
 static int
2c2fa1
-mips_linux_insert_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+mips_linux_insert_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			      struct expression *cond)
2c2fa1
 {
2c2fa1
   struct pt_watch_regs regs;
2c2fa1
@@ -1067,7 +1067,7 @@ mips_linux_insert_watchpoint (CORE_ADDR
2c2fa1
    Return zero on success.  */
2c2fa1
 
2c2fa1
 static int
2c2fa1
-mips_linux_remove_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+mips_linux_remove_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			      struct expression *cond)
2c2fa1
 {
2c2fa1
   int retval;
2c2fa1
Index: gdb-7.5.50.20130215/gdb/nto-procfs.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/nto-procfs.c	2013-01-01 07:32:47.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/nto-procfs.c	2013-02-15 22:42:45.990804311 +0100
2c2fa1
@@ -69,10 +69,10 @@ static ptid_t do_attach (ptid_t ptid);
2c2fa1
 
2c2fa1
 static int procfs_can_use_hw_breakpoint (int, int, int);
2c2fa1
 
2c2fa1
-static int procfs_insert_hw_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+static int procfs_insert_hw_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 					struct expression *cond);
2c2fa1
 
2c2fa1
-static int procfs_remove_hw_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+static int procfs_remove_hw_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 					struct expression *cond);
2c2fa1
 
2c2fa1
 static int procfs_stopped_by_watchpoint (void);
2c2fa1
@@ -1493,14 +1493,14 @@ procfs_can_use_hw_breakpoint (int type,
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-procfs_remove_hw_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+procfs_remove_hw_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			     struct expression *cond)
2c2fa1
 {
2c2fa1
   return procfs_hw_watchpoint (addr, -1, type);
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-procfs_insert_hw_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+procfs_insert_hw_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			     struct expression *cond)
2c2fa1
 {
2c2fa1
   return procfs_hw_watchpoint (addr, len, type);
2c2fa1
Index: gdb-7.5.50.20130215/gdb/ppc-linux-nat.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/ppc-linux-nat.c	2013-02-15 22:40:18.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/ppc-linux-nat.c	2013-02-15 22:42:45.991804313 +0100
2c2fa1
@@ -1838,11 +1838,11 @@ can_use_watchpoint_cond_accel (void)
2c2fa1
    CONDITION_VALUE will hold the value which should be put in the
2c2fa1
    DVC register.  */
2c2fa1
 static void
2c2fa1
-calculate_dvc (CORE_ADDR addr, int len, CORE_ADDR data_value,
2c2fa1
+calculate_dvc (CORE_ADDR addr, LONGEST len, CORE_ADDR data_value,
2c2fa1
 	       uint32_t *condition_mode, uint64_t *condition_value)
2c2fa1
 {
2c2fa1
-  int i, num_byte_enable, align_offset, num_bytes_off_dvc,
2c2fa1
-      rightmost_enabled_byte;
2c2fa1
+  LONGEST i, num_byte_enable;
2c2fa1
+  int align_offset, num_bytes_off_dvc, rightmost_enabled_byte;
2c2fa1
   CORE_ADDR addr_end_data, addr_end_dvc;
2c2fa1
 
2c2fa1
   /* The DVC register compares bytes within fixed-length windows which
2c2fa1
@@ -1929,7 +1929,7 @@ num_memory_accesses (struct value *v)
2c2fa1
    of the constant.  */
2c2fa1
 static int
2c2fa1
 check_condition (CORE_ADDR watch_addr, struct expression *cond,
2c2fa1
-		 CORE_ADDR *data_value, int *len)
2c2fa1
+		 CORE_ADDR *data_value, LONGEST *len)
2c2fa1
 {
2c2fa1
   int pc = 1, num_accesses_left, num_accesses_right;
2c2fa1
   struct value *left_val, *right_val, *left_chain, *right_chain;
2c2fa1
@@ -1996,7 +1996,7 @@ check_condition (CORE_ADDR watch_addr, s
2c2fa1
    the condition expression, thus only triggering the watchpoint when it is
2c2fa1
    true.  */
2c2fa1
 static int
2c2fa1
-ppc_linux_can_accel_watchpoint_condition (CORE_ADDR addr, int len, int rw,
2c2fa1
+ppc_linux_can_accel_watchpoint_condition (CORE_ADDR addr, LONGEST len, int rw,
2c2fa1
 					  struct expression *cond)
2c2fa1
 {
2c2fa1
   CORE_ADDR data_value;
2c2fa1
@@ -2013,7 +2013,7 @@ ppc_linux_can_accel_watchpoint_condition
2c2fa1
 
2c2fa1
 static void
2c2fa1
 create_watchpoint_request (struct ppc_hw_breakpoint *p, CORE_ADDR addr,
2c2fa1
-			   int len, int rw, struct expression *cond,
2c2fa1
+			   LONGEST len, int rw, struct expression *cond,
2c2fa1
 			   int insert)
2c2fa1
 {
2c2fa1
   if (len == 1
2c2fa1
@@ -2058,7 +2058,7 @@ create_watchpoint_request (struct ppc_hw
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-ppc_linux_insert_watchpoint (CORE_ADDR addr, int len, int rw,
2c2fa1
+ppc_linux_insert_watchpoint (CORE_ADDR addr, LONGEST len, int rw,
2c2fa1
 			     struct expression *cond)
2c2fa1
 {
2c2fa1
   struct lwp_info *lp;
2c2fa1
@@ -2126,7 +2126,7 @@ ppc_linux_insert_watchpoint (CORE_ADDR a
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-ppc_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw,
2c2fa1
+ppc_linux_remove_watchpoint (CORE_ADDR addr, LONGEST len, int rw,
2c2fa1
 			     struct expression *cond)
2c2fa1
 {
2c2fa1
   struct lwp_info *lp;
2c2fa1
@@ -2266,7 +2266,7 @@ ppc_linux_stopped_by_watchpoint (void)
2c2fa1
 static int
2c2fa1
 ppc_linux_watchpoint_addr_within_range (struct target_ops *target,
2c2fa1
 					CORE_ADDR addr,
2c2fa1
-					CORE_ADDR start, int length)
2c2fa1
+					CORE_ADDR start, LONGEST length)
2c2fa1
 {
2c2fa1
   int mask;
2c2fa1
 
2c2fa1
Index: gdb-7.5.50.20130215/gdb/procfs.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/procfs.c	2013-02-15 22:40:18.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/procfs.c	2013-02-15 22:42:45.992804315 +0100
2c2fa1
@@ -2433,7 +2433,7 @@ procfs_address_to_host_pointer (CORE_ADD
2c2fa1
 #endif
2c2fa1
 
2c2fa1
 static int
2c2fa1
-proc_set_watchpoint (procinfo *pi, CORE_ADDR addr, int len, int wflags)
2c2fa1
+proc_set_watchpoint (procinfo *pi, CORE_ADDR addr, LONGEST len, int wflags)
2c2fa1
 {
2c2fa1
 #if !defined (PCWATCH) && !defined (PIOCSWATCH)
2c2fa1
   /* If neither or these is defined, we can't support watchpoints.
2c2fa1
@@ -4777,7 +4777,7 @@ procfs_pid_to_str (struct target_ops *op
2c2fa1
 /* Insert a watchpoint.  */
2c2fa1
 
2c2fa1
 static int
2c2fa1
-procfs_set_watchpoint (ptid_t ptid, CORE_ADDR addr, int len, int rwflag,
2c2fa1
+procfs_set_watchpoint (ptid_t ptid, CORE_ADDR addr, LONGEST len, int rwflag,
2c2fa1
 		       int after)
2c2fa1
 {
2c2fa1
 #ifndef AIX5
2c2fa1
@@ -4897,7 +4897,7 @@ procfs_stopped_data_address (struct targ
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-procfs_insert_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+procfs_insert_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			  struct expression *cond)
2c2fa1
 {
2c2fa1
   if (!target_have_steppable_watchpoint
2c2fa1
@@ -4919,7 +4919,7 @@ procfs_insert_watchpoint (CORE_ADDR addr
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-procfs_remove_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+procfs_remove_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			  struct expression *cond)
2c2fa1
 {
2c2fa1
   return procfs_set_watchpoint (inferior_ptid, addr, 0, 0, 0);
2c2fa1
Index: gdb-7.5.50.20130215/gdb/remote-m32r-sdi.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/remote-m32r-sdi.c	2013-01-01 07:32:50.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/remote-m32r-sdi.c	2013-02-15 22:42:45.993804317 +0100
2c2fa1
@@ -1417,14 +1417,15 @@ m32r_can_use_hw_watchpoint (int type, in
2c2fa1
    watchpoint.  */
2c2fa1
 
2c2fa1
 static int
2c2fa1
-m32r_insert_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+m32r_insert_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			struct expression *cond)
2c2fa1
 {
2c2fa1
   int i;
2c2fa1
 
2c2fa1
   if (remote_debug)
2c2fa1
-    fprintf_unfiltered (gdb_stdlog, "m32r_insert_watchpoint(%s,%d,%d)\n",
2c2fa1
-			paddress (target_gdbarch (), addr), len, type);
2c2fa1
+    fprintf_unfiltered (gdb_stdlog, "m32r_insert_watchpoint(%s,%s,%d)\n",
2c2fa1
+			paddress (target_gdbarch (), addr), plongest (len),
2c2fa1
+			type);
2c2fa1
 
2c2fa1
   for (i = 0; i < MAX_ACCESS_BREAKS; i++)
2c2fa1
     {
2c2fa1
@@ -1442,14 +1443,15 @@ m32r_insert_watchpoint (CORE_ADDR addr,
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-m32r_remove_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+m32r_remove_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			struct expression *cond)
2c2fa1
 {
2c2fa1
   int i;
2c2fa1
 
2c2fa1
   if (remote_debug)
2c2fa1
-    fprintf_unfiltered (gdb_stdlog, "m32r_remove_watchpoint(%s,%d,%d)\n",
2c2fa1
-			paddress (target_gdbarch (), addr), len, type);
2c2fa1
+    fprintf_unfiltered (gdb_stdlog, "m32r_remove_watchpoint(%s,%s,%d)\n",
2c2fa1
+			paddress (target_gdbarch (), addr), plongest (len),
2c2fa1
+			type);
2c2fa1
 
2c2fa1
   for (i = 0; i < MAX_ACCESS_BREAKS; i++)
2c2fa1
     {
2c2fa1
Index: gdb-7.5.50.20130215/gdb/remote-mips.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/remote-mips.c	2013-01-01 07:32:50.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/remote-mips.c	2013-02-15 22:42:45.994804319 +0100
2c2fa1
@@ -2419,7 +2419,7 @@ calculate_mask (CORE_ADDR addr, int len)
2c2fa1
    watchpoint.  */
2c2fa1
 
2c2fa1
 static int
2c2fa1
-mips_insert_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+mips_insert_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			struct expression *cond)
2c2fa1
 {
2c2fa1
   if (mips_set_breakpoint (addr, len, type))
2c2fa1
@@ -2431,7 +2431,7 @@ mips_insert_watchpoint (CORE_ADDR addr,
2c2fa1
 /* Remove a watchpoint.  */
2c2fa1
 
2c2fa1
 static int
2c2fa1
-mips_remove_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+mips_remove_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			struct expression *cond)
2c2fa1
 {
2c2fa1
   if (mips_clear_breakpoint (addr, len, type))
2c2fa1
Index: gdb-7.5.50.20130215/gdb/remote.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/remote.c	2013-02-15 22:40:18.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/remote.c	2013-02-15 22:42:45.996804323 +0100
2c2fa1
@@ -8155,7 +8155,7 @@ watchpoint_to_Z_packet (int type)
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-remote_insert_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+remote_insert_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			  struct expression *cond)
2c2fa1
 {
2c2fa1
   struct remote_state *rs = get_remote_state ();
2c2fa1
@@ -8170,7 +8170,7 @@ remote_insert_watchpoint (CORE_ADDR addr
2c2fa1
   p = strchr (rs->buf, '\0');
2c2fa1
   addr = remote_address_masked (addr);
2c2fa1
   p += hexnumstr (p, (ULONGEST) addr);
2c2fa1
-  xsnprintf (p, endbuf - p, ",%x", len);
2c2fa1
+  xsnprintf (p, endbuf - p, ",%s", phex_nz (len, sizeof (len)));
2c2fa1
 
2c2fa1
   putpkt (rs->buf);
2c2fa1
   getpkt (&rs->buf, &rs->buf_size, 0);
2c2fa1
@@ -8190,7 +8190,7 @@ remote_insert_watchpoint (CORE_ADDR addr
2c2fa1
 
2c2fa1
 static int
2c2fa1
 remote_watchpoint_addr_within_range (struct target_ops *target, CORE_ADDR addr,
2c2fa1
-				     CORE_ADDR start, int length)
2c2fa1
+				     CORE_ADDR start, LONGEST length)
2c2fa1
 {
2c2fa1
   CORE_ADDR diff = remote_address_masked (addr - start);
2c2fa1
 
2c2fa1
@@ -8199,7 +8199,7 @@ remote_watchpoint_addr_within_range (str
2c2fa1
 
2c2fa1
 
2c2fa1
 static int
2c2fa1
-remote_remove_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+remote_remove_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			  struct expression *cond)
2c2fa1
 {
2c2fa1
   struct remote_state *rs = get_remote_state ();
2c2fa1
@@ -8214,7 +8214,7 @@ remote_remove_watchpoint (CORE_ADDR addr
2c2fa1
   p = strchr (rs->buf, '\0');
2c2fa1
   addr = remote_address_masked (addr);
2c2fa1
   p += hexnumstr (p, (ULONGEST) addr);
2c2fa1
-  xsnprintf (p, endbuf - p, ",%x", len);
2c2fa1
+  xsnprintf (p, endbuf - p, ",%s", phex_nz (len, sizeof (len)));
2c2fa1
   putpkt (rs->buf);
2c2fa1
   getpkt (&rs->buf, &rs->buf_size, 0);
2c2fa1
 
2c2fa1
Index: gdb-7.5.50.20130215/gdb/s390-nat.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/s390-nat.c	2013-02-15 22:40:18.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/s390-nat.c	2013-02-15 22:42:45.997804325 +0100
2c2fa1
@@ -516,7 +516,7 @@ s390_fix_watch_points (struct lwp_info *
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-s390_insert_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+s390_insert_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			struct expression *cond)
2c2fa1
 {
2c2fa1
   struct lwp_info *lp;
2c2fa1
@@ -537,7 +537,7 @@ s390_insert_watchpoint (CORE_ADDR addr,
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-s390_remove_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+s390_remove_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			struct expression *cond)
2c2fa1
 {
2c2fa1
   struct lwp_info *lp;
2c2fa1
Index: gdb-7.5.50.20130215/gdb/target.c
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/target.c	2013-02-15 22:40:18.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/target.c	2013-02-15 22:42:45.997804325 +0100
2c2fa1
@@ -49,7 +49,8 @@ static void target_info (char *, int);
2c2fa1
 static void default_terminal_info (char *, int);
2c2fa1
 
2c2fa1
 static int default_watchpoint_addr_within_range (struct target_ops *,
2c2fa1
-						 CORE_ADDR, CORE_ADDR, int);
2c2fa1
+						 CORE_ADDR, CORE_ADDR,
2c2fa1
+						 LONGEST);
2c2fa1
 
2c2fa1
 static int default_region_ok_for_hw_watchpoint (CORE_ADDR, LONGEST);
2c2fa1
 
2c2fa1
@@ -114,10 +115,10 @@ static int debug_to_insert_hw_breakpoint
2c2fa1
 static int debug_to_remove_hw_breakpoint (struct gdbarch *,
2c2fa1
 					  struct bp_target_info *);
2c2fa1
 
2c2fa1
-static int debug_to_insert_watchpoint (CORE_ADDR, int, int,
2c2fa1
+static int debug_to_insert_watchpoint (CORE_ADDR, LONGEST, int,
2c2fa1
 				       struct expression *);
2c2fa1
 
2c2fa1
-static int debug_to_remove_watchpoint (CORE_ADDR, int, int,
2c2fa1
+static int debug_to_remove_watchpoint (CORE_ADDR, LONGEST, int,
2c2fa1
 				       struct expression *);
2c2fa1
 
2c2fa1
 static int debug_to_stopped_by_watchpoint (void);
2c2fa1
@@ -125,11 +126,12 @@ static int debug_to_stopped_by_watchpoin
2c2fa1
 static int debug_to_stopped_data_address (struct target_ops *, CORE_ADDR *);
2c2fa1
 
2c2fa1
 static int debug_to_watchpoint_addr_within_range (struct target_ops *,
2c2fa1
-						  CORE_ADDR, CORE_ADDR, int);
2c2fa1
+						  CORE_ADDR, CORE_ADDR,
2c2fa1
+						  LONGEST);
2c2fa1
 
2c2fa1
 static int debug_to_region_ok_for_hw_watchpoint (CORE_ADDR, LONGEST);
2c2fa1
 
2c2fa1
-static int debug_to_can_accel_watchpoint_condition (CORE_ADDR, int, int,
2c2fa1
+static int debug_to_can_accel_watchpoint_condition (CORE_ADDR, LONGEST, int,
2c2fa1
 						    struct expression *);
2c2fa1
 
2c2fa1
 static void debug_to_terminal_init (void);
2c2fa1
@@ -751,10 +753,10 @@ update_current_target (void)
2c2fa1
 	    (int (*) (struct gdbarch *, struct bp_target_info *))
2c2fa1
 	    return_minus_one);
2c2fa1
   de_fault (to_insert_watchpoint,
2c2fa1
-	    (int (*) (CORE_ADDR, int, int, struct expression *))
2c2fa1
+	    (int (*) (CORE_ADDR, LONGEST, int, struct expression *))
2c2fa1
 	    return_minus_one);
2c2fa1
   de_fault (to_remove_watchpoint,
2c2fa1
-	    (int (*) (CORE_ADDR, int, int, struct expression *))
2c2fa1
+	    (int (*) (CORE_ADDR, LONGEST, int, struct expression *))
2c2fa1
 	    return_minus_one);
2c2fa1
   de_fault (to_stopped_by_watchpoint,
2c2fa1
 	    (int (*) (void))
2c2fa1
@@ -767,7 +769,7 @@ update_current_target (void)
2c2fa1
   de_fault (to_region_ok_for_hw_watchpoint,
2c2fa1
 	    default_region_ok_for_hw_watchpoint);
2c2fa1
   de_fault (to_can_accel_watchpoint_condition,
2c2fa1
-            (int (*) (CORE_ADDR, int, int, struct expression *))
2c2fa1
+            (int (*) (CORE_ADDR, LONGEST, int, struct expression *))
2c2fa1
             return_zero);
2c2fa1
   de_fault (to_terminal_init,
2c2fa1
 	    (void (*) (void))
2c2fa1
@@ -3558,7 +3560,7 @@ default_region_ok_for_hw_watchpoint (COR
2c2fa1
 static int
2c2fa1
 default_watchpoint_addr_within_range (struct target_ops *target,
2c2fa1
 				      CORE_ADDR addr,
2c2fa1
-				      CORE_ADDR start, int length)
2c2fa1
+				      CORE_ADDR start, LONGEST length)
2c2fa1
 {
2c2fa1
   return addr >= start && addr < start + length;
2c2fa1
 }
2c2fa1
@@ -4265,7 +4267,7 @@ debug_to_region_ok_for_hw_watchpoint (CO
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-debug_to_can_accel_watchpoint_condition (CORE_ADDR addr, int len, int rw,
2c2fa1
+debug_to_can_accel_watchpoint_condition (CORE_ADDR addr, LONGEST len, int rw,
2c2fa1
 					 struct expression *cond)
2c2fa1
 {
2c2fa1
   int retval;
2c2fa1
@@ -4275,8 +4277,8 @@ debug_to_can_accel_watchpoint_condition
2c2fa1
 
2c2fa1
   fprintf_unfiltered (gdb_stdlog,
2c2fa1
 		      "target_can_accel_watchpoint_condition "
2c2fa1
-		      "(%s, %d, %d, %s) = %ld\n",
2c2fa1
-		      core_addr_to_string (addr), len, rw,
2c2fa1
+		      "(%s, %s, %d, %s) = %ld\n",
2c2fa1
+		      core_addr_to_string (addr), plongest (len), rw,
2c2fa1
 		      host_address_to_string (cond), (unsigned long) retval);
2c2fa1
   return retval;
2c2fa1
 }
2c2fa1
@@ -4311,7 +4313,7 @@ debug_to_stopped_data_address (struct ta
2c2fa1
 static int
2c2fa1
 debug_to_watchpoint_addr_within_range (struct target_ops *target,
2c2fa1
 				       CORE_ADDR addr,
2c2fa1
-				       CORE_ADDR start, int length)
2c2fa1
+				       CORE_ADDR start, LONGEST length)
2c2fa1
 {
2c2fa1
   int retval;
2c2fa1
 
2c2fa1
@@ -4319,9 +4321,9 @@ debug_to_watchpoint_addr_within_range (s
2c2fa1
 							 start, length);
2c2fa1
 
2c2fa1
   fprintf_filtered (gdb_stdlog,
2c2fa1
-		    "target_watchpoint_addr_within_range (%s, %s, %d) = %d\n",
2c2fa1
+		    "target_watchpoint_addr_within_range (%s, %s, %s) = %d\n",
2c2fa1
 		    core_addr_to_string (addr), core_addr_to_string (start),
2c2fa1
-		    length, retval);
2c2fa1
+		    plongest (length), retval);
2c2fa1
   return retval;
2c2fa1
 }
2c2fa1
 
2c2fa1
@@ -4356,7 +4358,7 @@ debug_to_remove_hw_breakpoint (struct gd
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-debug_to_insert_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+debug_to_insert_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			    struct expression *cond)
2c2fa1
 {
2c2fa1
   int retval;
2c2fa1
@@ -4364,14 +4366,14 @@ debug_to_insert_watchpoint (CORE_ADDR ad
2c2fa1
   retval = debug_target.to_insert_watchpoint (addr, len, type, cond);
2c2fa1
 
2c2fa1
   fprintf_unfiltered (gdb_stdlog,
2c2fa1
-		      "target_insert_watchpoint (%s, %d, %d, %s) = %ld\n",
2c2fa1
-		      core_addr_to_string (addr), len, type,
2c2fa1
+		      "target_insert_watchpoint (%s, %s, %d, %s) = %ld\n",
2c2fa1
+		      core_addr_to_string (addr), plongest (len), type,
2c2fa1
 		      host_address_to_string (cond), (unsigned long) retval);
2c2fa1
   return retval;
2c2fa1
 }
2c2fa1
 
2c2fa1
 static int
2c2fa1
-debug_to_remove_watchpoint (CORE_ADDR addr, int len, int type,
2c2fa1
+debug_to_remove_watchpoint (CORE_ADDR addr, LONGEST len, int type,
2c2fa1
 			    struct expression *cond)
2c2fa1
 {
2c2fa1
   int retval;
2c2fa1
@@ -4379,8 +4381,8 @@ debug_to_remove_watchpoint (CORE_ADDR ad
2c2fa1
   retval = debug_target.to_remove_watchpoint (addr, len, type, cond);
2c2fa1
 
2c2fa1
   fprintf_unfiltered (gdb_stdlog,
2c2fa1
-		      "target_remove_watchpoint (%s, %d, %d, %s) = %ld\n",
2c2fa1
-		      core_addr_to_string (addr), len, type,
2c2fa1
+		      "target_remove_watchpoint (%s, %s, %d, %s) = %ld\n",
2c2fa1
+		      core_addr_to_string (addr), plongest (len), type,
2c2fa1
 		      host_address_to_string (cond), (unsigned long) retval);
2c2fa1
   return retval;
2c2fa1
 }
2c2fa1
Index: gdb-7.5.50.20130215/gdb/target.h
2c2fa1
===================================================================
2c2fa1
--- gdb-7.5.50.20130215.orig/gdb/target.h	2013-02-15 22:40:18.000000000 +0100
2c2fa1
+++ gdb-7.5.50.20130215/gdb/target.h	2013-02-15 22:42:45.998804328 +0100
2c2fa1
@@ -466,8 +466,8 @@ struct target_ops
2c2fa1
 
2c2fa1
     /* Documentation of what the two routines below are expected to do is
2c2fa1
        provided with the corresponding target_* macros.  */
2c2fa1
-    int (*to_remove_watchpoint) (CORE_ADDR, int, int, struct expression *);
2c2fa1
-    int (*to_insert_watchpoint) (CORE_ADDR, int, int, struct expression *);
2c2fa1
+    int (*to_remove_watchpoint) (CORE_ADDR, LONGEST, int, struct expression *);
2c2fa1
+    int (*to_insert_watchpoint) (CORE_ADDR, LONGEST, int, struct expression *);
2c2fa1
 
2c2fa1
     int (*to_insert_mask_watchpoint) (struct target_ops *,
2c2fa1
 				      CORE_ADDR, CORE_ADDR, int);
2c2fa1
@@ -478,13 +478,13 @@ struct target_ops
2c2fa1
     int to_have_continuable_watchpoint;
2c2fa1
     int (*to_stopped_data_address) (struct target_ops *, CORE_ADDR *);
2c2fa1
     int (*to_watchpoint_addr_within_range) (struct target_ops *,
2c2fa1
-					    CORE_ADDR, CORE_ADDR, int);
2c2fa1
+					    CORE_ADDR, CORE_ADDR, LONGEST);
2c2fa1
 
2c2fa1
     /* Documentation of this routine is provided with the corresponding
2c2fa1
        target_* macro.  */
2c2fa1
     int (*to_region_ok_for_hw_watchpoint) (CORE_ADDR, LONGEST);
2c2fa1
 
2c2fa1
-    int (*to_can_accel_watchpoint_condition) (CORE_ADDR, int, int,
2c2fa1
+    int (*to_can_accel_watchpoint_condition) (CORE_ADDR, LONGEST, int,
2c2fa1
 					      struct expression *);
2c2fa1
     int (*to_masked_watch_num_registers) (struct target_ops *,
2c2fa1
 					  CORE_ADDR, CORE_ADDR);