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

26bbde
http://sourceware.org/ml/gdb-patches/2012-09/msg00629.html
26bbde
Subject: [PATCH 3/4] Expand watchpoint lengths to LONGEST
26bbde
26bbde
26bbde
--MP_/6HRlH6vpyqtSy4CYyMrX6b2
26bbde
Content-Type: text/plain; charset=US-ASCII
26bbde
Content-Transfer-Encoding: 7bit
26bbde
Content-Disposition: inline
26bbde
26bbde
Hi,
26bbde
26bbde
This is part three of the bitpos expansion change.  Some architectures
26bbde
allow arbitrary length watchpoints and combined with the fact that type
26bbde
lengths could be large enough, we need LONGEST for watchpoint lengths.
26bbde
It is architecture dependent however, whether the LONGEST is needed or
26bbde
not.  This patch updates the signatures of watchpoint insertion and
26bbde
removal functions of all architectures (to comply with the function
26bbde
signatures in the callback struct), but expands types only in
26bbde
architectures that need it.  Tested on Fedora 16 x86_64.
26bbde
26bbde
Regards,
26bbde
Siddhesh
26bbde
--MP_/6HRlH6vpyqtSy4CYyMrX6b2
26bbde
Content-Type: text/plain
26bbde
Content-Transfer-Encoding: quoted-printable
26bbde
Content-Disposition: attachment; filename=ChangeLog-wp
26bbde
26bbde
gdb/ChangeLog:
26bbde
26bbde
	* arm-linux-nat.c (arm_linux_insert_watchpoint): Expand
26bbde
	parameter LEN to LONGEST.
26bbde
	(arm_linux_remove_watchpoint): Likewise.
26bbde
	(arm_linux_watchpoint_addr_within_range): Expand parameter
26bbde
	LENGTH to LONGEST.
26bbde
	* i386-nat.c (i386_insert_watchpoint): Expand parameter LEN to
26bbde
	LONGEST.
26bbde
	(i386_remove_watchpoint): Likewise.
26bbde
	* ia64-linux-nat.c (ia64_linux_insert_watchpoint): Likewise.
26bbde
	(ia64_linux_remove_watchpoint): Likewise.
26bbde
	* inf-ttrace.c (inf_ttrace_insert_watchpoint): Likewise.
26bbde
	Expand NUM_PAGES, PAGE to LONGEST.
26bbde
	(inf_ttrace_remove_watchpoint): Likewise.
26bbde
	* mips-linux-nat.c (mips_linux_insert_watchpoint): Expand
26bbde
	parameter LEN to LONGEST.
26bbde
	(mips_linux_remove_watchpoint): Likewise.
26bbde
	* nto-procfs.c (procfs_remove_hw_watchpoint): Likewise.
26bbde
	(procfs_insert_hw_watchpoint): Likewise.
26bbde
	* ppc-linux-nat.c (calculate_dvc): Likewise.  Expand I,
26bbde
	NUM_BYTE_ENABLE to LONGEST.
26bbde
	(check_condition): Expand parameter LEN to point to LONGEST.
26bbde
	(ppc_linux_can_accel_watchpoint_condition): Expand parameter
26bbde
	LEN to LONGEST.
26bbde
	(create_watchpoint_request): Likewise.
26bbde
	(ppc_linux_insert_watchpoint): Likewise.
26bbde
	(ppc_linux_remove_watchpoint): Likewise.
26bbde
	(ppc_linux_watchpoint_addr_within_range): Expand parameter
26bbde
	LENGTH to LONGEST.
26bbde
	* procfs.c (proc_set_watchpoint): Expand parameter LEN to
26bbde
	LONGEST.
26bbde
	(procfs_set_watchpoint): Likewise.
26bbde
	(procfs_insert_watchpoint): Likewise.
26bbde
	(procfs_remove_watchpoint): Likewise.
26bbde
	* remote-m32r-sdi.c (m32r_insert_watchpoint): Likewise.  Use
26bbde
	plongest to format print LEN.
26bbde
	(m32r_remove_watchpoint): Likewise.
26bbde
	* remote-mips.c (mips_insert_watchpoint): Expand parameter LEN
26bbde
	to LONGEST.
26bbde
	(mips_remove_watchpoint): Likewise.
26bbde
	* remote.c (remote_insert_watchpoint): Likewise.
26bbde
	Use phex_nz to format print LEN.
26bbde
	(remote_remove_watchpoint): Likewise.
26bbde
	(remote_watchpoint_addr_within_range): Expand parameter LENGTH
26bbde
	to LONGEST.
26bbde
	* s390-linux-nat.c (s390_insert_watchpoint): Expand parameter LEN to
26bbde
	LONGEST.
26bbde
	(s390_remove_watchpoint): Likewise.
26bbde
	* target.c (update_current_target): Expand parameter LEN for
26bbde
	callbacks to TO_INSERT_WATCHPOINT, TO_REMOVE_WATCHPOINT,
26bbde
	TO_CAN_ACCEL_WATCHPOINT_CONDITION, to LONGEST.
26bbde
	(default_watchpoint_addr_within_range): Expand parameter
26bbde
	LENGTH to LONGEST.
26bbde
	(debug_to_can_accel_watchpoint_condition): Expand parameter LEN
26bbde
	to LONGEST.  Use plongest to format print LEN.
26bbde
	(debug_to_watchpoint_addr_within_range): Expand parameter LENGTH
26bbde
	to LONGEST.  Use plongest to format print LENGTH.
26bbde
	(debug_to_insert_watchpoint): Expand parameter LEN to LONGEST.
26bbde
	Use plongest to format print LEN.
26bbde
	(debug_to_remove_watchpoint): Likewise.
26bbde
	* target.h (struct target_ops): Expand parameter LEN of
26bbde
	TO_REMOVE_WATCHPOINT, TO_INSERT_WATCHPOINT,
26bbde
	TO_WATCHPOINT_ADDR_WITHIN_RANGE and
26bbde
	TO_CAN_ACCEL_WATCHPOINT_CONDITION to LONGEST.
26bbde
26bbde
--MP_/6HRlH6vpyqtSy4CYyMrX6b2
26bbde
Content-Type: text/x-patch
26bbde
Content-Transfer-Encoding: 7bit
26bbde
Content-Disposition: attachment; filename=bitpos-wp.patch
26bbde
be09dc
Index: gdb-7.10.50.20151027/gdb/arm-linux-nat.c
26bbde
===================================================================
be09dc
--- gdb-7.10.50.20151027.orig/gdb/arm-linux-nat.c	2015-11-08 10:36:33.050071812 +0100
be09dc
+++ gdb-7.10.50.20151027/gdb/arm-linux-nat.c	2015-11-08 10:36:33.094072110 +0100
be09dc
@@ -1209,7 +1209,7 @@ arm_linux_stopped_by_watchpoint (struct
26bbde
 static int
26bbde
 arm_linux_watchpoint_addr_within_range (struct target_ops *target,
26bbde
 					CORE_ADDR addr,
26bbde
-					CORE_ADDR start, int length)
26bbde
+					CORE_ADDR start, LONGEST length)
26bbde
 {
26bbde
   return start <= addr && start + length - 1 >= addr;
26bbde
 }
be09dc
Index: gdb-7.10.50.20151027/gdb/ppc-linux-nat.c
26bbde
===================================================================
be09dc
--- gdb-7.10.50.20151027.orig/gdb/ppc-linux-nat.c	2015-11-08 10:36:33.064071907 +0100
be09dc
+++ gdb-7.10.50.20151027/gdb/ppc-linux-nat.c	2015-11-08 10:36:33.095072117 +0100
be09dc
@@ -1807,11 +1807,11 @@ can_use_watchpoint_cond_accel (void)
26bbde
    CONDITION_VALUE will hold the value which should be put in the
26bbde
    DVC register.  */
26bbde
 static void
26bbde
-calculate_dvc (CORE_ADDR addr, int len, CORE_ADDR data_value,
26bbde
+calculate_dvc (CORE_ADDR addr, LONGEST len, CORE_ADDR data_value,
26bbde
 	       uint32_t *condition_mode, uint64_t *condition_value)
26bbde
 {
26bbde
-  int i, num_byte_enable, align_offset, num_bytes_off_dvc,
26bbde
-      rightmost_enabled_byte;
26bbde
+  LONGEST i, num_byte_enable;
26bbde
+  int align_offset, num_bytes_off_dvc, rightmost_enabled_byte;
26bbde
   CORE_ADDR addr_end_data, addr_end_dvc;
26bbde
 
26bbde
   /* The DVC register compares bytes within fixed-length windows which
be09dc
@@ -1898,7 +1898,7 @@ num_memory_accesses (struct value *v)
26bbde
    of the constant.  */
26bbde
 static int
26bbde
 check_condition (CORE_ADDR watch_addr, struct expression *cond,
26bbde
-		 CORE_ADDR *data_value, int *len)
26bbde
+		 CORE_ADDR *data_value, LONGEST *len)
26bbde
 {
26bbde
   int pc = 1, num_accesses_left, num_accesses_right;
26bbde
   struct value *left_val, *right_val, *left_chain, *right_chain;
be09dc
@@ -1966,7 +1966,7 @@ check_condition (CORE_ADDR watch_addr, s
26bbde
    true.  */
26bbde
 static int
26bbde
 ppc_linux_can_accel_watchpoint_condition (struct target_ops *self,
26bbde
-					  CORE_ADDR addr, int len, int rw,
26bbde
+					  CORE_ADDR addr, LONGEST len, int rw,
26bbde
 					  struct expression *cond)
26bbde
 {
26bbde
   CORE_ADDR data_value;
be09dc
@@ -1983,7 +1983,7 @@ ppc_linux_can_accel_watchpoint_condition
26bbde
 
26bbde
 static void
26bbde
 create_watchpoint_request (struct ppc_hw_breakpoint *p, CORE_ADDR addr,
be09dc
-			   int len, enum target_hw_bp_type type,
be09dc
+			   LONGEST len, enum target_hw_bp_type type,
be09dc
 			   struct expression *cond, int insert)
26bbde
 {
26bbde
   if (len == 1
be09dc
@@ -2249,7 +2249,7 @@ ppc_linux_stopped_by_watchpoint (struct
26bbde
 static int
26bbde
 ppc_linux_watchpoint_addr_within_range (struct target_ops *target,
26bbde
 					CORE_ADDR addr,
26bbde
-					CORE_ADDR start, int length)
26bbde
+					CORE_ADDR start, LONGEST length)
26bbde
 {
26bbde
   int mask;
26bbde
 
be09dc
Index: gdb-7.10.50.20151027/gdb/procfs.c
26bbde
===================================================================
be09dc
--- gdb-7.10.50.20151027.orig/gdb/procfs.c	2015-11-08 10:36:33.065071913 +0100
be09dc
+++ gdb-7.10.50.20151027/gdb/procfs.c	2015-11-08 10:36:33.096072123 +0100
be09dc
@@ -2427,7 +2427,7 @@ procfs_address_to_host_pointer (CORE_ADD
26bbde
 #endif
26bbde
 
26bbde
 static int
26bbde
-proc_set_watchpoint (procinfo *pi, CORE_ADDR addr, int len, int wflags)
26bbde
+proc_set_watchpoint (procinfo *pi, CORE_ADDR addr, LONGEST len, int wflags)
26bbde
 {
26bbde
 #if !defined (PCWATCH) && !defined (PIOCSWATCH)
26bbde
   /* If neither or these is defined, we can't support watchpoints.
be09dc
@@ -4706,7 +4706,7 @@ procfs_pid_to_str (struct target_ops *op
26bbde
 /* Insert a watchpoint.  */
26bbde
 
26bbde
 static int
26bbde
-procfs_set_watchpoint (ptid_t ptid, CORE_ADDR addr, int len, int rwflag,
26bbde
+procfs_set_watchpoint (ptid_t ptid, CORE_ADDR addr, LONGEST len, int rwflag,
26bbde
 		       int after)
26bbde
 {
26bbde
 #ifndef AIX5
be09dc
Index: gdb-7.10.50.20151027/gdb/remote.c
26bbde
===================================================================
be09dc
--- gdb-7.10.50.20151027.orig/gdb/remote.c	2015-11-08 10:36:33.067071927 +0100
be09dc
+++ gdb-7.10.50.20151027/gdb/remote.c	2015-11-08 10:36:33.097072130 +0100
be09dc
@@ -9085,7 +9085,7 @@ remote_insert_watchpoint (struct target_
26bbde
   p = strchr (rs->buf, '\0');
26bbde
   addr = remote_address_masked (addr);
26bbde
   p += hexnumstr (p, (ULONGEST) addr);
26bbde
-  xsnprintf (p, endbuf - p, ",%x", len);
26bbde
+  xsnprintf (p, endbuf - p, ",%s", phex_nz (len, sizeof (len)));
26bbde
 
26bbde
   putpkt (rs->buf);
26bbde
   getpkt (&rs->buf, &rs->buf_size, 0);
be09dc
@@ -9105,7 +9105,7 @@ remote_insert_watchpoint (struct target_
26bbde
 
26bbde
 static int
26bbde
 remote_watchpoint_addr_within_range (struct target_ops *target, CORE_ADDR addr,
26bbde
-				     CORE_ADDR start, int length)
26bbde
+				     CORE_ADDR start, LONGEST length)
26bbde
 {
26bbde
   CORE_ADDR diff = remote_address_masked (addr - start);
26bbde
 
be09dc
@@ -9134,7 +9134,7 @@ remote_remove_watchpoint (struct target_
26bbde
   p = strchr (rs->buf, '\0');
26bbde
   addr = remote_address_masked (addr);
26bbde
   p += hexnumstr (p, (ULONGEST) addr);
26bbde
-  xsnprintf (p, endbuf - p, ",%x", len);
26bbde
+  xsnprintf (p, endbuf - p, ",%s", phex_nz (len, sizeof (len)));
26bbde
   putpkt (rs->buf);
26bbde
   getpkt (&rs->buf, &rs->buf_size, 0);
26bbde
 
be09dc
Index: gdb-7.10.50.20151027/gdb/target.c
26bbde
===================================================================
be09dc
--- gdb-7.10.50.20151027.orig/gdb/target.c	2015-11-08 10:36:33.069071941 +0100
be09dc
+++ gdb-7.10.50.20151027/gdb/target.c	2015-11-08 10:36:33.098072137 +0100
26bbde
@@ -51,7 +51,7 @@ static void generic_tls_error (void) ATT
26bbde
 static void default_terminal_info (struct target_ops *, const char *, int);
26bbde
 
26bbde
 static int default_watchpoint_addr_within_range (struct target_ops *,
26bbde
-						 CORE_ADDR, CORE_ADDR, int);
26bbde
+						 CORE_ADDR, CORE_ADDR, LONGEST);
26bbde
 
26bbde
 static int default_region_ok_for_hw_watchpoint (struct target_ops *,
26bbde
 						CORE_ADDR, LONGEST);
be09dc
@@ -3140,7 +3140,7 @@ default_region_ok_for_hw_watchpoint (str
26bbde
 static int
26bbde
 default_watchpoint_addr_within_range (struct target_ops *target,
26bbde
 				      CORE_ADDR addr,
26bbde
-				      CORE_ADDR start, int length)
26bbde
+				      CORE_ADDR start, LONGEST length)
26bbde
 {
26bbde
   return addr >= start && addr < start + length;
26bbde
 }
be09dc
Index: gdb-7.10.50.20151027/gdb/target.h
26bbde
===================================================================
be09dc
--- gdb-7.10.50.20151027.orig/gdb/target.h	2015-11-08 10:36:33.069071941 +0100
be09dc
+++ gdb-7.10.50.20151027/gdb/target.h	2015-11-08 10:36:33.098072137 +0100
be09dc
@@ -543,7 +543,7 @@ struct target_ops
26bbde
     int (*to_stopped_data_address) (struct target_ops *, CORE_ADDR *)
26bbde
       TARGET_DEFAULT_RETURN (0);
26bbde
     int (*to_watchpoint_addr_within_range) (struct target_ops *,
26bbde
-					    CORE_ADDR, CORE_ADDR, int)
26bbde
+					    CORE_ADDR, CORE_ADDR, LONGEST)
26bbde
       TARGET_DEFAULT_FUNC (default_watchpoint_addr_within_range);
26bbde
 
26bbde
     /* Documentation of this routine is provided with the corresponding
be09dc
@@ -553,7 +553,7 @@ struct target_ops
26bbde
       TARGET_DEFAULT_FUNC (default_region_ok_for_hw_watchpoint);
26bbde
 
26bbde
     int (*to_can_accel_watchpoint_condition) (struct target_ops *,
26bbde
-					      CORE_ADDR, int, int,
26bbde
+					      CORE_ADDR, LONGEST, int,
26bbde
 					      struct expression *)
26bbde
       TARGET_DEFAULT_RETURN (0);
26bbde
     int (*to_masked_watch_num_registers) (struct target_ops *,
be09dc
Index: gdb-7.10.50.20151027/gdb/aarch64-linux-nat.c
26bbde
===================================================================
be09dc
--- gdb-7.10.50.20151027.orig/gdb/aarch64-linux-nat.c	2015-11-08 10:36:33.074071975 +0100
be09dc
+++ gdb-7.10.50.20151027/gdb/aarch64-linux-nat.c	2015-11-08 10:36:33.098072137 +0100
be09dc
@@ -795,7 +795,7 @@ aarch64_linux_stopped_by_watchpoint (str
26bbde
 static int
26bbde
 aarch64_linux_watchpoint_addr_within_range (struct target_ops *target,
26bbde
 					    CORE_ADDR addr,
26bbde
-					    CORE_ADDR start, int length)
26bbde
+					    CORE_ADDR start, LONGEST length)
26bbde
 {
26bbde
   return start <= addr && start + length - 1 >= addr;
26bbde
 }
be09dc
Index: gdb-7.10.50.20151027/gdb/target-delegates.c
26bbde
===================================================================
be09dc
--- gdb-7.10.50.20151027.orig/gdb/target-delegates.c	2015-11-08 10:36:33.073071968 +0100
be09dc
+++ gdb-7.10.50.20151027/gdb/target-delegates.c	2015-11-08 10:36:33.099072144 +0100
be09dc
@@ -709,14 +709,14 @@ debug_stopped_data_address (struct targe
26bbde
 }
26bbde
 
26bbde
 static int
26bbde
-delegate_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
26bbde
+delegate_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, LONGEST arg3)
26bbde
 {
26bbde
   self = self->beneath;
26bbde
   return self->to_watchpoint_addr_within_range (self, arg1, arg2, arg3);
26bbde
 }
26bbde
 
26bbde
 static int
26bbde
-debug_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, int arg3)
26bbde
+debug_watchpoint_addr_within_range (struct target_ops *self, CORE_ADDR arg1, CORE_ADDR arg2, LONGEST arg3)
26bbde
 {
26bbde
   int result;
26bbde
   fprintf_unfiltered (gdb_stdlog, "-> %s->to_watchpoint_addr_within_range (...)\n", debug_target.to_shortname);
be09dc
@@ -728,7 +728,7 @@ debug_watchpoint_addr_within_range (stru
26bbde
   fputs_unfiltered (", ", gdb_stdlog);
26bbde
   target_debug_print_CORE_ADDR (arg2);
26bbde
   fputs_unfiltered (", ", gdb_stdlog);
26bbde
-  target_debug_print_int (arg3);
26bbde
+  target_debug_print_LONGEST (arg3);
26bbde
   fputs_unfiltered (") = ", gdb_stdlog);
26bbde
   target_debug_print_int (result);
26bbde
   fputs_unfiltered ("\n", gdb_stdlog);
be09dc
@@ -761,20 +761,20 @@ debug_region_ok_for_hw_watchpoint (struc
26bbde
 }
26bbde
 
26bbde
 static int
26bbde
-delegate_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
26bbde
+delegate_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, LONGEST arg2, int arg3, struct expression *arg4)
26bbde
 {
26bbde
   self = self->beneath;
26bbde
   return self->to_can_accel_watchpoint_condition (self, arg1, arg2, arg3, arg4);
26bbde
 }
26bbde
 
26bbde
 static int
26bbde
-tdefault_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
26bbde
+tdefault_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, LONGEST arg2, int arg3, struct expression *arg4)
26bbde
 {
26bbde
   return 0;
26bbde
 }
26bbde
 
26bbde
 static int
26bbde
-debug_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, int arg2, int arg3, struct expression *arg4)
26bbde
+debug_can_accel_watchpoint_condition (struct target_ops *self, CORE_ADDR arg1, LONGEST arg2, int arg3, struct expression *arg4)
26bbde
 {
26bbde
   int result;
26bbde
   fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_accel_watchpoint_condition (...)\n", debug_target.to_shortname);
be09dc
@@ -784,7 +784,7 @@ debug_can_accel_watchpoint_condition (st
26bbde
   fputs_unfiltered (", ", gdb_stdlog);
26bbde
   target_debug_print_CORE_ADDR (arg1);
26bbde
   fputs_unfiltered (", ", gdb_stdlog);
26bbde
-  target_debug_print_int (arg2);
26bbde
+  target_debug_print_LONGEST (arg2);
26bbde
   fputs_unfiltered (", ", gdb_stdlog);
26bbde
   target_debug_print_int (arg3);
26bbde
   fputs_unfiltered (", ", gdb_stdlog);
be09dc
Index: gdb-7.10.50.20151027/gdb/nat/aarch64-linux-hw-point.c
be09dc
===================================================================
be09dc
--- gdb-7.10.50.20151027.orig/gdb/nat/aarch64-linux-hw-point.c	2015-10-27 02:48:31.000000000 +0100
be09dc
+++ gdb-7.10.50.20151027/gdb/nat/aarch64-linux-hw-point.c	2015-11-08 10:36:33.099072144 +0100
be09dc
@@ -111,7 +111,7 @@ aarch64_point_encode_ctrl_reg (enum targ
be09dc
    Return 0 for any non-compliant ADDR and/or LEN; return 1 otherwise.  */
be09dc
 
be09dc
 static int
be09dc
-aarch64_point_is_aligned (int is_watchpoint, CORE_ADDR addr, int len)
be09dc
+aarch64_point_is_aligned (int is_watchpoint, CORE_ADDR addr, LONGEST len)
be09dc
 {
be09dc
   unsigned int alignment = 0;
be09dc
 
be09dc
@@ -180,9 +180,10 @@ aarch64_point_is_aligned (int is_watchpo
be09dc
    limitations can be largely relaxed with some further work.  */
be09dc
 
be09dc
 static void
be09dc
-aarch64_align_watchpoint (CORE_ADDR addr, int len, CORE_ADDR *aligned_addr_p,
be09dc
+aarch64_align_watchpoint (CORE_ADDR addr, LONGEST len,
be09dc
+			  CORE_ADDR *aligned_addr_p,
be09dc
 			  int *aligned_len_p, CORE_ADDR *next_addr_p,
be09dc
-			  int *next_len_p)
be09dc
+			  LONGEST *next_len_p)
be09dc
 {
be09dc
   int aligned_len;
be09dc
   unsigned int offset;
be09dc
@@ -494,7 +495,7 @@ aarch64_handle_aligned_watchpoint (enum
be09dc
 
be09dc
 static int
be09dc
 aarch64_handle_unaligned_watchpoint (enum target_hw_bp_type type,
be09dc
-				     CORE_ADDR addr, int len, int is_insert,
be09dc
+				     CORE_ADDR addr, LONGEST len, int is_insert,
be09dc
 				     struct aarch64_debug_reg_state *state)
be09dc
 {
be09dc
   while (len > 0)
be09dc
@@ -517,9 +518,9 @@ aarch64_handle_unaligned_watchpoint (enu
be09dc
 		      "                             "
be09dc
 		      "aligned_addr: %s, aligned_len: %d\n"
be09dc
 		      "                                "
be09dc
-		      "next_addr: %s,    next_len: %d\n",
be09dc
+		      "next_addr: %s,    next_len: %s\n",
be09dc
 		      is_insert, core_addr_to_string_nz (aligned_addr),
be09dc
-		      aligned_len, core_addr_to_string_nz (addr), len);
be09dc
+		      aligned_len, core_addr_to_string_nz (addr), plongest (len));
be09dc
 
be09dc
       if (ret != 0)
be09dc
 	return ret;
be09dc
@@ -530,7 +531,7 @@ aarch64_handle_unaligned_watchpoint (enu
be09dc
 
be09dc
 int
be09dc
 aarch64_handle_watchpoint (enum target_hw_bp_type type, CORE_ADDR addr,
be09dc
-			   int len, int is_insert,
be09dc
+			   LONGEST len, int is_insert,
be09dc
 			   struct aarch64_debug_reg_state *state)
be09dc
 {
be09dc
   if (aarch64_point_is_aligned (1 /* is_watchpoint */ , addr, len))
be09dc
@@ -581,14 +582,14 @@ aarch64_linux_set_debug_regs (const stru
be09dc
 void
be09dc
 aarch64_show_debug_reg_state (struct aarch64_debug_reg_state *state,
be09dc
 			      const char *func, CORE_ADDR addr,
be09dc
-			      int len, enum target_hw_bp_type type)
be09dc
+			      LONGEST len, enum target_hw_bp_type type)
be09dc
 {
be09dc
   int i;
be09dc
 
be09dc
   debug_printf ("%s", func);
be09dc
   if (addr || len)
be09dc
-    debug_printf (" (addr=0x%08lx, len=%d, type=%s)",
be09dc
-		  (unsigned long) addr, len,
be09dc
+    debug_printf (" (addr=0x%08lx, len=%s, type=%s)",
be09dc
+		  (unsigned long) addr, plongest (len),
be09dc
 		  type == hw_write ? "hw-write-watchpoint"
be09dc
 		  : (type == hw_read ? "hw-read-watchpoint"
be09dc
 		     : (type == hw_access ? "hw-access-watchpoint"
be09dc
Index: gdb-7.10.50.20151027/gdb/nat/aarch64-linux-hw-point.h
be09dc
===================================================================
be09dc
--- gdb-7.10.50.20151027.orig/gdb/nat/aarch64-linux-hw-point.h	2015-10-27 02:48:31.000000000 +0100
be09dc
+++ gdb-7.10.50.20151027/gdb/nat/aarch64-linux-hw-point.h	2015-11-08 10:36:47.656170839 +0100
be09dc
@@ -168,7 +168,7 @@ int aarch64_handle_breakpoint (enum targ
be09dc
 			       int len, int is_insert,
be09dc
 			       struct aarch64_debug_reg_state *state);
be09dc
 int aarch64_handle_watchpoint (enum target_hw_bp_type type, CORE_ADDR addr,
be09dc
-			       int len, int is_insert,
be09dc
+			       LONGEST len, int is_insert,
be09dc
 			       struct aarch64_debug_reg_state *state);
be09dc
 
be09dc
 void aarch64_linux_set_debug_regs (const struct aarch64_debug_reg_state *state,
be09dc
@@ -176,7 +176,7 @@ void aarch64_linux_set_debug_regs (const
be09dc
 
be09dc
 void aarch64_show_debug_reg_state (struct aarch64_debug_reg_state *state,
be09dc
 				   const char *func, CORE_ADDR addr,
be09dc
-				   int len, enum target_hw_bp_type type);
be09dc
+				   LONGEST len, enum target_hw_bp_type type);
be09dc
 
be09dc
 void aarch64_linux_get_debug_reg_capacity (int tid);
be09dc