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

f9426a
http://sourceware.org/ml/gdb-patches/2012-09/msg00630.html
f9426a
Subject: [PATCH 4/4] Bitpos expansion - tdep changes
f9426a
f9426a
f9426a
--MP_/X_WjDOvz/B_fvlsrmCwRdxe
f9426a
Content-Type: text/plain; charset=US-ASCII
f9426a
Content-Transfer-Encoding: 7bit
f9426a
Content-Disposition: inline
f9426a
f9426a
Hi,
f9426a
f9426a
This is the last part of the bitpos change.  This patch does the same
f9426a
thing that patch 1/4 does, except that it does so in the *-tdep files
f9426a
wherever necessary.  I separated these changes mainly because they are
f9426a
related and can be reviewed independently.  Tested on Fedora 16 x86_64.
f9426a
f9426a
Regards,
f9426a
Siddhesh
f9426a
f9426a
--MP_/X_WjDOvz/B_fvlsrmCwRdxe
f9426a
Content-Type: text/plain
f9426a
Content-Transfer-Encoding: quoted-printable
f9426a
Content-Disposition: attachment; filename=ChangeLog-tdep
f9426a
f9426a
gdb/ChangeLog
f9426a
f9426a
	* alpha-tdep.c (alpha_push_dummy_call): Expand ACCUMULATE_SIZE,
f9426a
	REQUIRED_ARG_REGS, OFFSET, LEN, TLEN to ssize_t.
f9426a
	(struct alpha_arg): Expand members LEN, OFFSET to ssize_t.
f9426a
	* amd64-tdep.c (amd64_push_arguments): Expand NUM_ELEMENTS,
f9426a
	ELEMENT and LEN to LONGEST.
f9426a
	(amd64_return_value): Expand LEN to LONGEST.
f9426a
	* amd64-windows-tdep.c (amd64_windows_return_value): Expand LEN
f9426a
	to LONGEST.
f9426a
	* arm-tdep.c (arm_vfp_cprc_sub_candidate): Return LONGEST.
f9426a
	Expand COUNT, SUB_COUNT to LONGEST.
f9426a
	(arm_vfp_call_candidate): Expand C to LONGEST.
f9426a
	(arm_push_dummy_call): Expand LEN to LONGEST.
f9426a
	* avr-tdep.c (struct stack_item): Expand member LEN to ssize_t.
f9426a
	(push_stack_item): Expand parameter LEN to ssize_t.
f9426a
	(avr_push_dummy_call): Expand LAST_REGNUM, J, LEN to ssize_t.
f9426a
	* bfin-tdep.c (bfin_push_dummy_call): Expand TOTAL_LEN,
f9426a
	CONTAINER_LEN to ssize_t.
f9426a
	* cris-tdep.c (struct stack_item): Expand member LEN to ssize_t.
f9426a
	(push_stack_item): Expand parameter LEN to ssize_t.
f9426a
	(cris_push_dummy_call): Expand LEN, REG_DEMAND, I to ssize_t.
f9426a
	* h8300-tdep.c (h8300_push_dummy_call): Expand STACK_ALLOC,
f9426a
	STACK_OFFSET to LONGEST.  Expand LEN, PADDED_LEN, OFFSET to
f9426a
	ssize_t.
f9426a
	* hppa-tdep.c (hppa64_push_dummy_call): Expand LEN to LONGEST.
f9426a
	(hppa64_return_value): Likewise.
f9426a
	* i386-darwin-tdep.c (i386_darwin_push_dummy_call): Expand
f9426a
	ARGS_SPACE to LONGEST.
f9426a
	* i386-tdep.c (i386_push_dummy_call): Expand ARG_SPACE,
f9426a
	ARG_SPACE_USED, LEN to LONGEST.
f9426a
	(i386_reg_struct_return_p): Expand LEN to LONGEST.
f9426a
	(i386_convert_register_p): Likewise.
f9426a
	(i386_register_to_value): Likewise.
f9426a
	(i386_value_to_register): Likewise.
f9426a
	* ia64-tdep.c (ia64_push_dummy_call): Expand ARGOFFSET, LEN,
f9426a
	NSLOTS, MEMSLOTS to LONGEST.
f9426a
	* iq2000-tdep.c (iq2000_push_dummy_call): Expand TYPELEN,
f9426a
	STACKSPACE to LONGEST.
f9426a
	* m32r-tdep.c (m32r_push_dummy_call): Expand LEN to LONGEST.
f9426a
	* m68k-tdep.c (m68k_reg_struct_return_p): Expand LEN to LONGEST.
f9426a
	(m68k_push_dummy_call): Expand LEN, CONTAINER_LEN, OFFSET to
f9426a
	LONGEST.
f9426a
	* m88k-tdep.c (m88k_store_arguments): Expand NUM_STACK_WORDS,
f9426a
	LEN, STACK_WORD to LONGEST.
f9426a
	* mep-tdep.c (push_large_arguments): Expand ARG_LEN to ULONGEST.
f9426a
	* microblaze-tdep.c (microblaze_store_return_value): Expand LEN to
f9426a
	LONGEST.
f9426a
	* mips-tdep.c (mips_xfer_register): Expand parameter BUF_OFFSET to
f9426a
	LONGEST.  Use plongest to format print BUF_OFFSET.
f9426a
	(mips_eabi_push_dummy_call): Expand LEN to LONGEST.  Use plongest
f9426a
	to format print LEN.
f9426a
	(mips_n32n64_fp_arg_chunk_p): Expand parameter OFFSET to LONGEST.
f9426a
	Expand POS to LONGEST.
f9426a
	(mips_n32n64_push_dummy_call): Expand LEN to LONGEST.
f9426a
	(mips_n32n64_return_value): Expand OFFSET to LONGEST.  Use
f9426a
	plongest to format print OFFSET.
f9426a
	(mips_o32_push_dummy_call): Expand LEN to LONGEST.  Use plongest
f9426a
	to format print LEN.
f9426a
	(mips_o64_push_dummy_call): Expand LEN, STACK_OFFSET to LONGEST.
f9426a
	Use plongest to format print LEN.
f9426a
	* mn10300-tdep.c (mn10300_push_dummy_call): Expand LEN to
f9426a
	LONGEST.
f9426a
	* mt-tdep.c (mt_push_dummy_call): Expand STACK_DEST, TYPELEN to
f9426a
	LONGEST.
f9426a
	* ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Expand
f9426a
	ARGSPACE, ARGOFFSET, STRUCTOFFSET, LEN, to LONGEST.
f9426a
	(ppc64_sysv_abi_push_dummy_call): Expand BYTE, LEN to ssize_t.
f9426a
	* rl78-tdep.c (rl78_push_dummy_call): Expand LEN, CONTAINER_LEN
f9426a
	to LONGEST.
f9426a
	* rs6000-aix-tdep.c (rs6000_push_dummy_call): Expand ARGBYTES,
f9426a
	LEN to LONGEST.
f9426a
	(ran_out_of_registers_for_arguments): Expand SPACE, JJ to
f9426a
	LONGEST.
f9426a
	* s390-linux-tdep.c (s390_value_from_register): Expand LEN to LONGEST.
f9426a
	(is_power_of_two): Expand parameter N to ULONGEST.
f9426a
	(s390_push_dummy_call): Expand LENGTH to ULONGEST.
f9426a
	* score-tdep.c (score_push_dummy_call): Expand ARGLEN to
f9426a
	LONGEST.
f9426a
	* sh-tdep.c (sh_use_struct_convention) Expand len to LONGEST.
f9426a
	(sh_justify_value_in_reg): Expand parameter LEN to LONGEST.
f9426a
	(sh_push_dummy_call_fpu): Expand LEN to LONGEST.  Expand REG_SIZE
f9426a
	to ssize_t.
f9426a
	(sh_push_dummy_call_nofpu): Likewise.
f9426a
	* sh64-tdep.c (sh64_push_dummy_call): Expand STACK_OFFSET,
f9426a
	STACK_ALLOC, LEN to LONGEST.
f9426a
	* sparc-tdep.c (sparc32_store_arguments): Expand LEN to LONGEST.
f9426a
	* sparc64-tdep.c (sparc64_store_floating_fields): Expand
f9426a
	parameter BITPOS to LONGEST.  Expand SUBPOS to LONGEST.
f9426a
	(sparc64_extract_floating_fields): Likewise.
f9426a
	(sparc64_store_arguments): Expand LEN to LONGEST.
f9426a
	* spu-tdep.c (spu_push_dummy_call): Expand N_REGS, LEN to LONGEST.
f9426a
	(spu_value_from_register): Expand LEN to LONGEST.
f9426a
	* tic6x-tdep.c (tic6x_push_dummy_call): Expand REFERENCES_OFFST,
f9426a
	LEN to LONGEST.  Expand LEN to ssize_t.  Use plongest to format
f9426a
	print LEN.
f9426a
	* tilegx-tdep.c (tilegx_push_dummy_call): Expand TYPELEN,
f9426a
	SLACKLEN, ALIGNLEN to LONGEST.
f9426a
	* v850-tdep.c (v850_push_dummy_call): Expand LEN to LONGEST.
f9426a
	* vax-tdep.c (vax_store_arguments): Expand COUNT, LEN to LONGEST.
f9426a
	(vax_return_value): Expand LEN to LONGEST.
f9426a
	* xstormy16-tdep.c (xstormy16_push_dummy_call): Expand J, TYPELEN
f9426a
	to LONGEST.
f9426a
	* xtensa-tdep.c (xtensa_store_return_value): Print LEN instead of
f9426a
	TYPE_LENGTH..
f9426a
	(struct argument_info): Expoand member LENGTH to ssize_t.
f9426a
	(struct argument_info.u): Expand member OFFSET to ssize_t.
f9426a
	(xtensa_push_dummy_call): Expand SIZE, ONSTACK_SIZE to LONGEST.
f9426a
	Expand N to ssize_t.  Use pulongest to format print TYPE_LENGTH.
f9426a
f9426a
--MP_/X_WjDOvz/B_fvlsrmCwRdxe
f9426a
Content-Type: text/x-patch
f9426a
Content-Transfer-Encoding: 7bit
f9426a
Content-Disposition: attachment; filename=bitpos-tdep.patch
f9426a
f9426a
Index: gdb-7.7.1/gdb/alpha-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/alpha-tdep.c	2014-05-09 19:24:18.677252769 +0200
f9426a
+++ gdb-7.7.1/gdb/alpha-tdep.c	2014-05-09 20:02:09.620703767 +0200
f9426a
@@ -299,18 +299,18 @@ alpha_push_dummy_call (struct gdbarch *g
f9426a
 {
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
   int i;
f9426a
-  int accumulate_size = struct_return ? 8 : 0;
f9426a
+  ssize_t accumulate_size = struct_return ? 8 : 0;
f9426a
   struct alpha_arg
f9426a
     {
f9426a
       const gdb_byte *contents;
f9426a
-      int len;
f9426a
-      int offset;
f9426a
+      ssize_t len;
f9426a
+      ssize_t offset;
f9426a
     };
f9426a
   struct alpha_arg *alpha_args
f9426a
     = (struct alpha_arg *) alloca (nargs * sizeof (struct alpha_arg));
f9426a
   struct alpha_arg *m_arg;
f9426a
   gdb_byte arg_reg_buffer[ALPHA_REGISTER_SIZE * ALPHA_NUM_ARG_REGS];
f9426a
-  int required_arg_regs;
f9426a
+  ssize_t required_arg_regs;
f9426a
   CORE_ADDR func_addr = find_function_addr (function, NULL);
f9426a
 
f9426a
   /* The ABI places the address of the called function in T12.  */
f9426a
@@ -430,8 +430,8 @@ alpha_push_dummy_call (struct gdbarch *g
f9426a
   for (i = nargs; m_arg--, --i >= 0;)
f9426a
     {
f9426a
       const gdb_byte *contents = m_arg->contents;
f9426a
-      int offset = m_arg->offset;
f9426a
-      int len = m_arg->len;
f9426a
+      ssize_t offset = m_arg->offset;
f9426a
+      ssize_t len = m_arg->len;
f9426a
 
f9426a
       /* Copy the bytes destined for registers into arg_reg_buffer.  */
f9426a
       if (offset < sizeof(arg_reg_buffer))
f9426a
@@ -443,7 +443,7 @@ alpha_push_dummy_call (struct gdbarch *g
f9426a
 	    }
f9426a
 	  else
f9426a
 	    {
f9426a
-	      int tlen = sizeof(arg_reg_buffer) - offset;
f9426a
+	      ssize_t tlen = sizeof(arg_reg_buffer) - offset;
f9426a
 	      memcpy (arg_reg_buffer + offset, contents, tlen);
f9426a
 	      offset += tlen;
f9426a
 	      contents += tlen;
f9426a
Index: gdb-7.7.1/gdb/amd64-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/amd64-tdep.c	2014-05-09 19:24:18.678252770 +0200
f9426a
+++ gdb-7.7.1/gdb/amd64-tdep.c	2014-05-09 20:02:09.620703767 +0200
f9426a
@@ -633,7 +633,7 @@ amd64_return_value (struct gdbarch *gdba
f9426a
 		    gdb_byte *readbuf, const gdb_byte *writebuf)
f9426a
 {
f9426a
   enum amd64_reg_class class[2];
f9426a
-  int len = TYPE_LENGTH (type);
f9426a
+  LONGEST len = TYPE_LENGTH (type);
f9426a
   static int integer_regnum[] = { AMD64_RAX_REGNUM, AMD64_RDX_REGNUM };
f9426a
   static int sse_regnum[] = { AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM };
f9426a
   int integer_reg = 0;
f9426a
@@ -784,8 +784,8 @@ amd64_push_arguments (struct regcache *r
f9426a
   };
f9426a
   struct value **stack_args = alloca (nargs * sizeof (struct value *));
f9426a
   int num_stack_args = 0;
f9426a
-  int num_elements = 0;
f9426a
-  int element = 0;
f9426a
+  LONGEST num_elements = 0;
f9426a
+  LONGEST element = 0;
f9426a
   int integer_reg = 0;
f9426a
   int sse_reg = 0;
f9426a
   int i;
f9426a
@@ -797,7 +797,7 @@ amd64_push_arguments (struct regcache *r
f9426a
   for (i = 0; i < nargs; i++)
f9426a
     {
f9426a
       struct type *type = value_type (args[i]);
f9426a
-      int len = TYPE_LENGTH (type);
f9426a
+      LONGEST len = TYPE_LENGTH (type);
f9426a
       enum amd64_reg_class class[2];
f9426a
       int needed_integer_regs = 0;
f9426a
       int needed_sse_regs = 0;
f9426a
Index: gdb-7.7.1/gdb/amd64-windows-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/amd64-windows-tdep.c	2014-05-09 19:24:18.679252770 +0200
f9426a
+++ gdb-7.7.1/gdb/amd64-windows-tdep.c	2014-05-09 20:02:09.620703767 +0200
f9426a
@@ -288,7 +288,7 @@ amd64_windows_return_value (struct gdbar
f9426a
 			    struct type *type, struct regcache *regcache,
f9426a
 			    gdb_byte *readbuf, const gdb_byte *writebuf)
f9426a
 {
f9426a
-  int len = TYPE_LENGTH (type);
f9426a
+  LONGEST len = TYPE_LENGTH (type);
f9426a
   int regnum = -1;
f9426a
 
f9426a
   /* See if our value is returned through a register.  If it is, then
f9426a
Index: gdb-7.7.1/gdb/arm-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/arm-tdep.c	2014-05-09 19:24:18.684252770 +0200
f9426a
+++ gdb-7.7.1/gdb/arm-tdep.c	2014-05-09 20:02:09.622703768 +0200
f9426a
@@ -3498,7 +3498,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc
f9426a
    array).  Vectors and complex types are not currently supported,
f9426a
    matching the generic AAPCS support.  */
f9426a
 
f9426a
-static int
f9426a
+static LONGEST
f9426a
 arm_vfp_cprc_sub_candidate (struct type *t,
f9426a
 			    enum arm_vfp_cprc_base_type *base_type)
f9426a
 {
f9426a
@@ -3529,7 +3529,7 @@ arm_vfp_cprc_sub_candidate (struct type
f9426a
 
f9426a
     case TYPE_CODE_ARRAY:
f9426a
       {
f9426a
-	int count;
f9426a
+	LONGEST count;
f9426a
 	unsigned unitlen;
f9426a
 	count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t), base_type);
f9426a
 	if (count == -1)
f9426a
@@ -3549,13 +3549,15 @@ arm_vfp_cprc_sub_candidate (struct type
f9426a
 
f9426a
     case TYPE_CODE_STRUCT:
f9426a
       {
f9426a
-	int count = 0;
f9426a
+	LONGEST count = 0;
f9426a
 	unsigned unitlen;
f9426a
 	int i;
f9426a
 	for (i = 0; i < TYPE_NFIELDS (t); i++)
f9426a
 	  {
f9426a
-	    int sub_count = arm_vfp_cprc_sub_candidate (TYPE_FIELD_TYPE (t, i),
f9426a
-							base_type);
f9426a
+	    LONGEST sub_count;
f9426a
+
f9426a
+	    sub_count = arm_vfp_cprc_sub_candidate (TYPE_FIELD_TYPE (t, i),
f9426a
+						    base_type);
f9426a
 	    if (sub_count == -1)
f9426a
 	      return -1;
f9426a
 	    count += sub_count;
f9426a
@@ -3575,13 +3577,15 @@ arm_vfp_cprc_sub_candidate (struct type
f9426a
 
f9426a
     case TYPE_CODE_UNION:
f9426a
       {
f9426a
-	int count = 0;
f9426a
+	LONGEST count = 0;
f9426a
 	unsigned unitlen;
f9426a
 	int i;
f9426a
 	for (i = 0; i < TYPE_NFIELDS (t); i++)
f9426a
 	  {
f9426a
-	    int sub_count = arm_vfp_cprc_sub_candidate (TYPE_FIELD_TYPE (t, i),
f9426a
-							base_type);
f9426a
+	    LONGEST sub_count;
f9426a
+
f9426a
+	    sub_count = arm_vfp_cprc_sub_candidate (TYPE_FIELD_TYPE (t, i),
f9426a
+						    base_type);
f9426a
 	    if (sub_count == -1)
f9426a
 	      return -1;
f9426a
 	    count = (count > sub_count ? count : sub_count);
f9426a
@@ -3617,7 +3621,7 @@ arm_vfp_call_candidate (struct type *t,
f9426a
 			int *count)
f9426a
 {
f9426a
   enum arm_vfp_cprc_base_type b = VFP_CPRC_UNKNOWN;
f9426a
-  int c = arm_vfp_cprc_sub_candidate (t, &b);
f9426a
+  LONGEST c = arm_vfp_cprc_sub_candidate (t, &b);
f9426a
   if (c <= 0 || c > 4)
f9426a
     return 0;
f9426a
   *base_type = b;
f9426a
@@ -3698,7 +3702,7 @@ arm_push_dummy_call (struct gdbarch *gdb
f9426a
 
f9426a
   for (argnum = 0; argnum < nargs; argnum++)
f9426a
     {
f9426a
-      int len;
f9426a
+      LONGEST len;
f9426a
       struct type *arg_type;
f9426a
       struct type *target_type;
f9426a
       enum type_code typecode;
f9426a
Index: gdb-7.7.1/gdb/avr-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/avr-tdep.c	2014-05-09 19:24:18.686252771 +0200
f9426a
+++ gdb-7.7.1/gdb/avr-tdep.c	2014-05-09 20:02:09.623703768 +0200
f9426a
@@ -1167,13 +1167,14 @@ avr_dummy_id (struct gdbarch *gdbarch, s
f9426a
 
f9426a
 struct stack_item
f9426a
 {
f9426a
-  int len;
f9426a
+  ssize_t len;
f9426a
   struct stack_item *prev;
f9426a
   void *data;
f9426a
 };
f9426a
 
f9426a
 static struct stack_item *
f9426a
-push_stack_item (struct stack_item *prev, const bfd_byte *contents, int len)
f9426a
+push_stack_item (struct stack_item *prev, const bfd_byte *contents,
f9426a
+		 ssize_t len)
f9426a
 {
f9426a
   struct stack_item *si;
f9426a
   si = xmalloc (sizeof (struct stack_item));
f9426a
@@ -1262,12 +1263,12 @@ avr_push_dummy_call (struct gdbarch *gdb
f9426a
 
f9426a
   for (i = 0; i < nargs; i++)
f9426a
     {
f9426a
-      int last_regnum;
f9426a
-      int j;
f9426a
+      ssize_t last_regnum;
f9426a
+      ssize_t j;
f9426a
       struct value *arg = args[i];
f9426a
       struct type *type = check_typedef (value_type (arg));
f9426a
       const bfd_byte *contents = value_contents (arg);
f9426a
-      int len = TYPE_LENGTH (type);
f9426a
+      ssize_t len = TYPE_LENGTH (type);
f9426a
 
f9426a
       /* Calculate the potential last register needed.  */
f9426a
       last_regnum = regnum - (len + (len & 1));
f9426a
Index: gdb-7.7.1/gdb/bfin-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/bfin-tdep.c	2014-05-09 19:24:18.686252771 +0200
f9426a
+++ gdb-7.7.1/gdb/bfin-tdep.c	2014-05-09 20:02:09.623703768 +0200
f9426a
@@ -506,7 +506,7 @@ bfin_push_dummy_call (struct gdbarch *gd
f9426a
   gdb_byte buf[4];
f9426a
   int i;
f9426a
   long reg_r0, reg_r1, reg_r2;
f9426a
-  int total_len = 0;
f9426a
+  ssize_t total_len = 0;
f9426a
   enum bfin_abi abi = bfin_abi (gdbarch);
f9426a
   CORE_ADDR func_addr = find_function_addr (function, NULL);
f9426a
 
f9426a
@@ -530,7 +530,7 @@ bfin_push_dummy_call (struct gdbarch *gd
f9426a
     {
f9426a
       struct type *value_type = value_enclosing_type (args[i]);
f9426a
       struct type *arg_type = check_typedef (value_type);
f9426a
-      int container_len = (TYPE_LENGTH (value_type) + 3) & ~3;
f9426a
+      ssize_t container_len = (TYPE_LENGTH (value_type) + 3) & ~3;
f9426a
 
f9426a
       sp -= container_len;
f9426a
       write_memory (sp, value_contents_writeable (args[i]), container_len);
f9426a
Index: gdb-7.7.1/gdb/cris-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/cris-tdep.c	2014-05-09 19:24:18.687252771 +0200
f9426a
+++ gdb-7.7.1/gdb/cris-tdep.c	2014-05-09 20:02:09.623703768 +0200
f9426a
@@ -665,13 +665,13 @@ static CORE_ADDR cris_unwind_sp (struct
f9426a
 
f9426a
 struct stack_item
f9426a
 {
f9426a
-  int len;
f9426a
+  ssize_t len;
f9426a
   struct stack_item *prev;
f9426a
   void *data;
f9426a
 };
f9426a
 
f9426a
 static struct stack_item *
f9426a
-push_stack_item (struct stack_item *prev, const gdb_byte *contents, int len)
f9426a
+push_stack_item (struct stack_item *prev, const gdb_byte *contents, ssize_t len)
f9426a
 {
f9426a
   struct stack_item *si;
f9426a
   si = xmalloc (sizeof (struct stack_item));
f9426a
@@ -844,13 +844,13 @@ cris_push_dummy_call (struct gdbarch *gd
f9426a
 
f9426a
   for (argnum = 0; argnum < nargs; argnum++)
f9426a
     {
f9426a
-      int len;
f9426a
+      ssize_t len;
f9426a
       const gdb_byte *val;
f9426a
-      int reg_demand;
f9426a
-      int i;
f9426a
+      ssize_t reg_demand;
f9426a
+      ssize_t i;
f9426a
       
f9426a
-      len = TYPE_LENGTH (value_type (args[argnum]));
f9426a
       val = value_contents (args[argnum]);
f9426a
+      len = TYPE_LENGTH (value_type (args[argnum]));
f9426a
       
f9426a
       /* How may registers worth of storage do we need for this argument?  */
f9426a
       reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0);
f9426a
Index: gdb-7.7.1/gdb/h8300-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/h8300-tdep.c	2014-05-09 19:24:18.688252771 +0200
f9426a
+++ gdb-7.7.1/gdb/h8300-tdep.c	2014-05-09 20:02:09.624703768 +0200
f9426a
@@ -640,7 +640,7 @@ h8300_push_dummy_call (struct gdbarch *g
f9426a
 		       int struct_return, CORE_ADDR struct_addr)
f9426a
 {
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
-  int stack_alloc = 0, stack_offset = 0;
f9426a
+  LONGEST stack_alloc = 0, stack_offset = 0;
f9426a
   int wordsize = BINWORD (gdbarch);
f9426a
   int reg = E_ARG0_REGNUM;
f9426a
   int argument;
f9426a
@@ -667,11 +667,11 @@ h8300_push_dummy_call (struct gdbarch *g
f9426a
     {
f9426a
       struct cleanup *back_to;
f9426a
       struct type *type = value_type (args[argument]);
f9426a
-      int len = TYPE_LENGTH (type);
f9426a
       char *contents = (char *) value_contents (args[argument]);
f9426a
+      ssize_t len = TYPE_LENGTH (type);
f9426a
 
f9426a
       /* Pad the argument appropriately.  */
f9426a
-      int padded_len = align_up (len, wordsize);
f9426a
+      ssize_t padded_len = align_up (len, wordsize);
f9426a
       gdb_byte *padded = xmalloc (padded_len);
f9426a
       back_to = make_cleanup (xfree, padded);
f9426a
 
f9426a
@@ -700,7 +700,7 @@ h8300_push_dummy_call (struct gdbarch *g
f9426a
 	      /* Heavens to Betsy --- it's really going in registers!
f9426a
 	         Note that on the h8/300s, there are gaps between the
f9426a
 	         registers in the register file.  */
f9426a
-	      int offset;
f9426a
+	      ssize_t offset;
f9426a
 
f9426a
 	      for (offset = 0; offset < padded_len; offset += wordsize)
f9426a
 		{
f9426a
Index: gdb-7.7.1/gdb/hppa-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/hppa-tdep.c	2014-05-09 19:24:18.690252771 +0200
f9426a
+++ gdb-7.7.1/gdb/hppa-tdep.c	2014-05-09 20:02:09.624703768 +0200
f9426a
@@ -961,7 +961,7 @@ hppa64_push_dummy_call (struct gdbarch *
f9426a
     {
f9426a
       struct value *arg = args[i];
f9426a
       struct type *type = value_type (arg);
f9426a
-      int len = TYPE_LENGTH (type);
f9426a
+      LONGEST len = TYPE_LENGTH (type);
f9426a
       const bfd_byte *valbuf;
f9426a
       bfd_byte fptrbuf[8];
f9426a
       int regnum;
f9426a
@@ -1156,7 +1156,7 @@ hppa64_return_value (struct gdbarch *gdb
f9426a
 		     struct type *type, struct regcache *regcache,
f9426a
 		     gdb_byte *readbuf, const gdb_byte *writebuf)
f9426a
 {
f9426a
-  int len = TYPE_LENGTH (type);
f9426a
+  LONGEST len = TYPE_LENGTH (type);
f9426a
   int regnum, offset;
f9426a
 
f9426a
   if (len > 16)
f9426a
Index: gdb-7.7.1/gdb/i386-darwin-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/i386-darwin-tdep.c	2014-05-09 19:24:18.690252771 +0200
f9426a
+++ gdb-7.7.1/gdb/i386-darwin-tdep.c	2014-05-09 20:02:09.624703768 +0200
f9426a
@@ -164,7 +164,7 @@ i386_darwin_push_dummy_call (struct gdba
f9426a
 
f9426a
   for (write_pass = 0; write_pass < 2; write_pass++)
f9426a
     {
f9426a
-      int args_space = 0;
f9426a
+      LONGEST args_space = 0;
f9426a
       int num_m128 = 0;
f9426a
 
f9426a
       if (struct_return)
f9426a
Index: gdb-7.7.1/gdb/i386-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/i386-tdep.c	2014-05-09 19:24:18.692252771 +0200
f9426a
+++ gdb-7.7.1/gdb/i386-tdep.c	2014-05-09 20:02:09.625703769 +0200
f9426a
@@ -2473,7 +2473,7 @@ i386_push_dummy_call (struct gdbarch *gd
f9426a
   gdb_byte buf[4];
f9426a
   int i;
f9426a
   int write_pass;
f9426a
-  int args_space = 0;
f9426a
+  LONGEST args_space = 0;
f9426a
 
f9426a
   /* Determine the total space required for arguments and struct
f9426a
      return address in a first pass (allowing for 16-byte-aligned
f9426a
@@ -2481,7 +2481,7 @@ i386_push_dummy_call (struct gdbarch *gd
f9426a
 
f9426a
   for (write_pass = 0; write_pass < 2; write_pass++)
f9426a
     {
f9426a
-      int args_space_used = 0;
f9426a
+      LONGEST args_space_used = 0;
f9426a
 
f9426a
       if (struct_return)
f9426a
 	{
f9426a
@@ -2498,7 +2498,7 @@ i386_push_dummy_call (struct gdbarch *gd
f9426a
 
f9426a
       for (i = 0; i < nargs; i++)
f9426a
 	{
f9426a
-	  int len = TYPE_LENGTH (value_enclosing_type (args[i]));
f9426a
+	  LONGEST len = TYPE_LENGTH (value_enclosing_type (args[i]));
f9426a
 
f9426a
 	  if (write_pass)
f9426a
 	    {
f9426a
@@ -2705,7 +2705,7 @@ i386_reg_struct_return_p (struct gdbarch
f9426a
 {
f9426a
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
f9426a
   enum type_code code = TYPE_CODE (type);
f9426a
-  int len = TYPE_LENGTH (type);
f9426a
+  LONGEST len = TYPE_LENGTH (type);
f9426a
 
f9426a
   gdb_assert (code == TYPE_CODE_STRUCT
f9426a
               || code == TYPE_CODE_UNION
f9426a
@@ -3249,7 +3249,7 @@ static int
f9426a
 i386_convert_register_p (struct gdbarch *gdbarch,
f9426a
 			 int regnum, struct type *type)
f9426a
 {
f9426a
-  int len = TYPE_LENGTH (type);
f9426a
+  LONGEST len = TYPE_LENGTH (type);
f9426a
 
f9426a
   /* Values may be spread across multiple registers.  Most debugging
f9426a
      formats aren't expressive enough to specify the locations, so
f9426a
@@ -3282,7 +3282,7 @@ i386_register_to_value (struct frame_inf
f9426a
 			int *optimizedp, int *unavailablep)
f9426a
 {
f9426a
   struct gdbarch *gdbarch = get_frame_arch (frame);
f9426a
-  int len = TYPE_LENGTH (type);
f9426a
+  LONGEST len = TYPE_LENGTH (type);
f9426a
 
f9426a
   if (i386_fp_regnum_p (gdbarch, regnum))
f9426a
     return i387_register_to_value (frame, regnum, type, to,
f9426a
@@ -3318,7 +3318,7 @@ static void
f9426a
 i386_value_to_register (struct frame_info *frame, int regnum,
f9426a
 			struct type *type, const gdb_byte *from)
f9426a
 {
f9426a
-  int len = TYPE_LENGTH (type);
f9426a
+  LONGEST len = TYPE_LENGTH (type);
f9426a
 
f9426a
   if (i386_fp_regnum_p (get_frame_arch (frame), regnum))
f9426a
     {
f9426a
Index: gdb-7.7.1/gdb/ia64-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/ia64-tdep.c	2014-05-09 19:24:18.693252771 +0200
f9426a
+++ gdb-7.7.1/gdb/ia64-tdep.c	2014-05-09 20:02:09.626703769 +0200
f9426a
@@ -3851,8 +3851,10 @@ ia64_push_dummy_call (struct gdbarch *gd
f9426a
   int argno;
f9426a
   struct value *arg;
f9426a
   struct type *type;
f9426a
-  int len, argoffset;
f9426a
-  int nslots, rseslots, memslots, slotnum, nfuncargs;
f9426a
+  LONGEST argoffset;
f9426a
+  LONGEST len;
f9426a
+  int rseslots, slotnum, nfuncargs;
f9426a
+  LONGEST nslots, memslots;
f9426a
   int floatreg;
f9426a
   ULONGEST bsp;
f9426a
   CORE_ADDR funcdescaddr, pc, global_pointer;
f9426a
Index: gdb-7.7.1/gdb/iq2000-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/iq2000-tdep.c	2014-05-09 19:24:18.693252771 +0200
f9426a
+++ gdb-7.7.1/gdb/iq2000-tdep.c	2014-05-09 20:02:09.626703769 +0200
f9426a
@@ -654,8 +654,9 @@ iq2000_push_dummy_call (struct gdbarch *
f9426a
   const bfd_byte *val;
f9426a
   bfd_byte buf[4];
f9426a
   struct type *type;
f9426a
-  int i, argreg, typelen, slacklen;
f9426a
-  int stackspace = 0;
f9426a
+  int i, argreg, slacklen;
f9426a
+  LONGEST typelen;
f9426a
+  LONGEST stackspace = 0;
f9426a
   /* Used to copy struct arguments into the stack.  */
f9426a
   CORE_ADDR struct_ptr;
f9426a
 
f9426a
Index: gdb-7.7.1/gdb/m32r-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/m32r-tdep.c	2014-05-09 19:24:18.693252771 +0200
f9426a
+++ gdb-7.7.1/gdb/m32r-tdep.c	2014-05-09 20:02:09.626703769 +0200
f9426a
@@ -689,7 +689,7 @@ m32r_push_dummy_call (struct gdbarch *gd
f9426a
   CORE_ADDR regval;
f9426a
   gdb_byte *val;
f9426a
   gdb_byte valbuf[MAX_REGISTER_SIZE];
f9426a
-  int len;
f9426a
+  LONGEST len;
f9426a
 
f9426a
   /* First force sp to a 4-byte alignment.  */
f9426a
   sp = sp & ~3;
f9426a
Index: gdb-7.7.1/gdb/m68k-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/m68k-tdep.c	2014-05-09 19:24:18.694252771 +0200
f9426a
+++ gdb-7.7.1/gdb/m68k-tdep.c	2014-05-09 20:02:09.627703769 +0200
f9426a
@@ -384,7 +384,7 @@ m68k_reg_struct_return_p (struct gdbarch
f9426a
 {
f9426a
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
f9426a
   enum type_code code = TYPE_CODE (type);
f9426a
-  int len = TYPE_LENGTH (type);
f9426a
+  LONGEST len = TYPE_LENGTH (type);
f9426a
 
f9426a
   gdb_assert (code == TYPE_CODE_STRUCT || code == TYPE_CODE_UNION
f9426a
 	      || code == TYPE_CODE_COMPLEX);
f9426a
@@ -516,9 +516,9 @@ m68k_push_dummy_call (struct gdbarch *gd
f9426a
   for (i = nargs - 1; i >= 0; i--)
f9426a
     {
f9426a
       struct type *value_type = value_enclosing_type (args[i]);
f9426a
-      int len = TYPE_LENGTH (value_type);
f9426a
-      int container_len = (len + 3) & ~3;
f9426a
-      int offset;
f9426a
+      LONGEST len = TYPE_LENGTH (value_type);
f9426a
+      LONGEST container_len = (len + 3) & ~3;
f9426a
+      LONGEST offset;
f9426a
 
f9426a
       /* Non-scalars bigger than 4 bytes are left aligned, others are
f9426a
 	 right aligned.  */
f9426a
Index: gdb-7.7.1/gdb/m88k-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/m88k-tdep.c	2014-05-09 19:24:18.694252771 +0200
f9426a
+++ gdb-7.7.1/gdb/m88k-tdep.c	2014-05-09 20:02:09.627703769 +0200
f9426a
@@ -260,13 +260,13 @@ m88k_store_arguments (struct regcache *r
f9426a
 {
f9426a
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
f9426a
   int num_register_words = 0;
f9426a
-  int num_stack_words = 0;
f9426a
+  LONGEST num_stack_words = 0;
f9426a
   int i;
f9426a
 
f9426a
   for (i = 0; i < nargs; i++)
f9426a
     {
f9426a
       struct type *type = value_type (args[i]);
f9426a
-      int len = TYPE_LENGTH (type);
f9426a
+      LONGEST len = TYPE_LENGTH (type);
f9426a
 
f9426a
       if (m88k_integral_or_pointer_p (type) && len < 4)
f9426a
 	{
f9426a
@@ -308,8 +308,8 @@ m88k_store_arguments (struct regcache *r
f9426a
     {
f9426a
       const bfd_byte *valbuf = value_contents (args[i]);
f9426a
       struct type *type = value_type (args[i]);
f9426a
-      int len = TYPE_LENGTH (type);
f9426a
-      int stack_word = num_stack_words;
f9426a
+      LONGEST len = TYPE_LENGTH (type);
f9426a
+      LONGEST stack_word = num_stack_words;
f9426a
 
f9426a
       if (m88k_in_register_p (type))
f9426a
 	{
f9426a
Index: gdb-7.7.1/gdb/mep-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/mep-tdep.c	2014-05-09 19:24:18.695252772 +0200
f9426a
+++ gdb-7.7.1/gdb/mep-tdep.c	2014-05-09 20:02:09.627703769 +0200
f9426a
@@ -2272,7 +2272,7 @@ push_large_arguments (CORE_ADDR sp, int
f9426a
 
f9426a
   for (i = 0; i < argc; i++)
f9426a
     {
f9426a
-      unsigned arg_len = TYPE_LENGTH (value_type (argv[i]));
f9426a
+      ULONGEST arg_len = TYPE_LENGTH (value_type (argv[i]));
f9426a
 
f9426a
       if (arg_len > MEP_GPR_SIZE)
f9426a
         {
f9426a
Index: gdb-7.7.1/gdb/mips-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/mips-tdep.c	2014-05-09 19:24:18.698252772 +0200
f9426a
+++ gdb-7.7.1/gdb/mips-tdep.c	2014-05-09 20:02:09.628703769 +0200
f9426a
@@ -402,7 +402,7 @@ static void
f9426a
 mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
f9426a
 		    int reg_num, int length,
f9426a
 		    enum bfd_endian endian, gdb_byte *in,
f9426a
-		    const gdb_byte *out, int buf_offset)
f9426a
+		    const gdb_byte *out, LONGEST buf_offset)
f9426a
 {
f9426a
   int reg_offset = 0;
f9426a
 
f9426a
@@ -425,8 +425,8 @@ mips_xfer_register (struct gdbarch *gdba
f9426a
     }
f9426a
   if (mips_debug)
f9426a
     fprintf_unfiltered (gdb_stderr,
f9426a
-			"xfer $%d, reg offset %d, buf offset %d, length %d, ",
f9426a
-			reg_num, reg_offset, buf_offset, length);
f9426a
+			"xfer $%d, reg offset %d, buf offset %s, length %d, ",
f9426a
+			reg_num, reg_offset, plongest (buf_offset), length);
f9426a
   if (mips_debug && out != NULL)
f9426a
     {
f9426a
       int i;
f9426a
@@ -4345,13 +4345,13 @@ mips_eabi_push_dummy_call (struct gdbarc
f9426a
       gdb_byte valbuf[MAX_REGISTER_SIZE];
f9426a
       struct value *arg = args[argnum];
f9426a
       struct type *arg_type = check_typedef (value_type (arg));
f9426a
-      int len = TYPE_LENGTH (arg_type);
f9426a
+      LONGEST len = TYPE_LENGTH (arg_type);
f9426a
       enum type_code typecode = TYPE_CODE (arg_type);
f9426a
 
f9426a
       if (mips_debug)
f9426a
 	fprintf_unfiltered (gdb_stdlog,
f9426a
-			    "mips_eabi_push_dummy_call: %d len=%d type=%d",
f9426a
-			    argnum + 1, len, (int) typecode);
f9426a
+			    "mips_eabi_push_dummy_call: %d len=%s type=%d",
f9426a
+			    argnum + 1, plongest (len), (int) typecode);
f9426a
 
f9426a
       /* Function pointer arguments to mips16 code need to be made into
f9426a
          mips16 pointers.  */
f9426a
@@ -4636,7 +4636,7 @@ mips_eabi_return_value (struct gdbarch *
f9426a
 
f9426a
 static int
f9426a
 mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type,
f9426a
-			    int offset)
f9426a
+			    LONGEST offset)
f9426a
 {
f9426a
   int i;
f9426a
 
f9426a
@@ -4651,7 +4651,7 @@ mips_n32n64_fp_arg_chunk_p (struct gdbar
f9426a
 
f9426a
   for (i = 0; i < TYPE_NFIELDS (arg_type); i++)
f9426a
     {
f9426a
-      int pos;
f9426a
+      LONGEST pos;
f9426a
       struct type *field_type;
f9426a
 
f9426a
       /* We're only looking at normal fields.  */
f9426a
@@ -4693,7 +4693,7 @@ mips_n32n64_push_dummy_call (struct gdba
f9426a
   int argreg;
f9426a
   int float_argreg;
f9426a
   int argnum;
f9426a
-  int len = 0;
f9426a
+  LONGEST len = 0;
f9426a
   int stack_offset = 0;
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
   CORE_ADDR func_addr = find_function_addr (function, NULL);
f9426a
@@ -5044,11 +5044,11 @@ mips_n32n64_return_value (struct gdbarch
f9426a
 				: MIPS_V0_REGNUM);
f9426a
 	   field < TYPE_NFIELDS (type); field++, regnum += 2)
f9426a
 	{
f9426a
-	  int offset = (FIELD_BITPOS (TYPE_FIELDS (type)[field])
f9426a
-			/ TARGET_CHAR_BIT);
f9426a
+	  LONGEST offset = (FIELD_BITPOS (TYPE_FIELDS (type)[field])
f9426a
+			    / TARGET_CHAR_BIT);
f9426a
 	  if (mips_debug)
f9426a
-	    fprintf_unfiltered (gdb_stderr, "Return float struct+%d\n",
f9426a
-				offset);
f9426a
+	    fprintf_unfiltered (gdb_stderr, "Return float struct+%s\n",
f9426a
+				plongest (offset));
f9426a
 	  if (TYPE_LENGTH (TYPE_FIELD_TYPE (type, field)) == 16)
f9426a
 	    {
f9426a
 	      /* A 16-byte long double field goes in two consecutive
f9426a
@@ -5090,8 +5090,8 @@ mips_n32n64_return_value (struct gdbarch
f9426a
 	  if (offset + xfer > TYPE_LENGTH (type))
f9426a
 	    xfer = TYPE_LENGTH (type) - offset;
f9426a
 	  if (mips_debug)
f9426a
-	    fprintf_unfiltered (gdb_stderr, "Return struct+%d:%d in $%d\n",
f9426a
-				offset, xfer, regnum);
f9426a
+	    fprintf_unfiltered (gdb_stderr, "Return struct+%s:%d in $%d\n",
f9426a
+				plongest (offset), xfer, regnum);
f9426a
 	  mips_xfer_register (gdbarch, regcache,
f9426a
 			      gdbarch_num_regs (gdbarch) + regnum,
f9426a
 			      xfer, BFD_ENDIAN_UNKNOWN, readbuf, writebuf,
f9426a
@@ -5149,7 +5149,7 @@ mips_o32_push_dummy_call (struct gdbarch
f9426a
   int argreg;
f9426a
   int float_argreg;
f9426a
   int argnum;
f9426a
-  int len = 0;
f9426a
+  LONGEST len = 0;
f9426a
   int stack_offset = 0;
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
   CORE_ADDR func_addr = find_function_addr (function, NULL);
f9426a
@@ -5213,13 +5213,13 @@ mips_o32_push_dummy_call (struct gdbarch
f9426a
       const gdb_byte *val;
f9426a
       struct value *arg = args[argnum];
f9426a
       struct type *arg_type = check_typedef (value_type (arg));
f9426a
-      int len = TYPE_LENGTH (arg_type);
f9426a
+      LONGEST len = TYPE_LENGTH (arg_type);
f9426a
       enum type_code typecode = TYPE_CODE (arg_type);
f9426a
 
f9426a
       if (mips_debug)
f9426a
 	fprintf_unfiltered (gdb_stdlog,
f9426a
-			    "mips_o32_push_dummy_call: %d len=%d type=%d",
f9426a
-			    argnum + 1, len, (int) typecode);
f9426a
+			    "mips_o32_push_dummy_call: %d len=%s type=%d",
f9426a
+			    argnum + 1, plongest (len), (int) typecode);
f9426a
 
f9426a
       val = value_contents (arg);
f9426a
 
f9426a
@@ -5677,8 +5677,8 @@ mips_o64_push_dummy_call (struct gdbarch
f9426a
   int argreg;
f9426a
   int float_argreg;
f9426a
   int argnum;
f9426a
-  int len = 0;
f9426a
-  int stack_offset = 0;
f9426a
+  LONGEST len = 0;
f9426a
+  LONGEST stack_offset = 0;
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
   CORE_ADDR func_addr = find_function_addr (function, NULL);
f9426a
 
f9426a
@@ -5739,13 +5739,13 @@ mips_o64_push_dummy_call (struct gdbarch
f9426a
       gdb_byte valbuf[MAX_REGISTER_SIZE];
f9426a
       struct value *arg = args[argnum];
f9426a
       struct type *arg_type = check_typedef (value_type (arg));
f9426a
-      int len = TYPE_LENGTH (arg_type);
f9426a
+      LONGEST len = TYPE_LENGTH (arg_type);
f9426a
       enum type_code typecode = TYPE_CODE (arg_type);
f9426a
 
f9426a
       if (mips_debug)
f9426a
 	fprintf_unfiltered (gdb_stdlog,
f9426a
-			    "mips_o64_push_dummy_call: %d len=%d type=%d",
f9426a
-			    argnum + 1, len, (int) typecode);
f9426a
+			    "mips_o64_push_dummy_call: %d len=%s type=%d",
f9426a
+			    argnum + 1, plongest (len), (int) typecode);
f9426a
 
f9426a
       val = value_contents (arg);
f9426a
 
f9426a
Index: gdb-7.7.1/gdb/mn10300-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/mn10300-tdep.c	2014-05-09 19:24:18.698252772 +0200
f9426a
+++ gdb-7.7.1/gdb/mn10300-tdep.c	2014-05-09 20:02:09.629703770 +0200
f9426a
@@ -1227,7 +1227,7 @@ mn10300_push_dummy_call (struct gdbarch
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
   const int push_size = register_size (gdbarch, E_PC_REGNUM);
f9426a
   int regs_used;
f9426a
-  int len, arg_len; 
f9426a
+  LONGEST len, arg_len; 
f9426a
   int stack_offset = 0;
f9426a
   int argnum;
f9426a
   const gdb_byte *val;
f9426a
Index: gdb-7.7.1/gdb/mt-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/mt-tdep.c	2014-05-09 19:24:18.699252772 +0200
f9426a
+++ gdb-7.7.1/gdb/mt-tdep.c	2014-05-09 20:02:09.629703770 +0200
f9426a
@@ -783,9 +783,9 @@ mt_push_dummy_call (struct gdbarch *gdba
f9426a
   gdb_byte buf[MT_MAX_STRUCT_SIZE];
f9426a
   int argreg = MT_1ST_ARGREG;
f9426a
   int split_param_len = 0;
f9426a
-  int stack_dest = sp;
f9426a
+  LONGEST stack_dest = sp;
f9426a
   int slacklen;
f9426a
-  int typelen;
f9426a
+  LONGEST typelen;
f9426a
   int i, j;
f9426a
 
f9426a
   /* First handle however many args we can fit into MT_1ST_ARGREG thru
f9426a
Index: gdb-7.7.1/gdb/ppc-sysv-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/ppc-sysv-tdep.c	2014-05-09 19:24:18.699252772 +0200
f9426a
+++ gdb-7.7.1/gdb/ppc-sysv-tdep.c	2014-05-09 20:10:13.994807709 +0200
f9426a
@@ -68,7 +68,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
   int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function));
f9426a
   ULONGEST saved_sp;
f9426a
-  int argspace = 0;		/* 0 is an initial wrong guess.  */
f9426a
+  LONGEST argspace = 0;		/* 0 is an initial wrong guess.  */
f9426a
   int write_pass;
f9426a
 
f9426a
   gdb_assert (tdep->wordsize == 4);
f9426a
@@ -99,9 +99,9 @@ ppc_sysv_abi_push_dummy_call (struct gdb
f9426a
       /* Next available vector register for vector arguments.  */
f9426a
       int vreg = 2;
f9426a
       /* Arguments start above the "LR save word" and "Back chain".  */
f9426a
-      int argoffset = 2 * tdep->wordsize;
f9426a
+      LONGEST argoffset = 2 * tdep->wordsize;
f9426a
       /* Structures start after the arguments.  */
f9426a
-      int structoffset = argoffset + argspace;
f9426a
+      LONGEST structoffset = argoffset + argspace;
f9426a
 
f9426a
       /* If the function is returning a `struct', then the first word
f9426a
          (which will be passed in r3) is used for struct return
f9426a
@@ -120,7 +120,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
f9426a
 	{
f9426a
 	  struct value *arg = args[argno];
f9426a
 	  struct type *type = check_typedef (value_type (arg));
f9426a
-	  int len = TYPE_LENGTH (type);
f9426a
+	  ssize_t len = TYPE_LENGTH (type);
f9426a
 	  const bfd_byte *val = value_contents (arg);
f9426a
 
f9426a
 	  if (TYPE_CODE (type) == TYPE_CODE_FLT && len <= 8
f9426a
@@ -1285,11 +1285,11 @@ struct ppc64_sysv_argpos
f9426a
 
f9426a
 static void
f9426a
 ppc64_sysv_abi_push_val (struct gdbarch *gdbarch,
f9426a
-			 const bfd_byte *val, int len, int align,
f9426a
+			 const bfd_byte *val, ssize_t len, int align,
f9426a
 			 struct ppc64_sysv_argpos *argpos)
f9426a
 {
f9426a
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
f9426a
-  int offset = 0;
f9426a
+  ssize_t offset = 0;
f9426a
 
f9426a
   /* Enforce alignment of stack location, if requested.  */
f9426a
   if (align > tdep->wordsize)
f9426a
Index: gdb-7.7.1/gdb/rl78-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/rl78-tdep.c	2014-05-09 19:24:18.700252772 +0200
f9426a
+++ gdb-7.7.1/gdb/rl78-tdep.c	2014-05-09 20:02:09.630703770 +0200
f9426a
@@ -1052,8 +1052,8 @@ rl78_push_dummy_call (struct gdbarch *gd
f9426a
   for (i = nargs - 1; i >= 0; i--)
f9426a
     {
f9426a
       struct type *value_type = value_enclosing_type (args[i]);
f9426a
-      int len = TYPE_LENGTH (value_type);
f9426a
-      int container_len = (len + 1) & ~1;
f9426a
+      LONGEST len = TYPE_LENGTH (value_type);
f9426a
+      LONGEST container_len = (len + 1) & ~1;
f9426a
 
f9426a
       sp -= container_len;
f9426a
       write_memory (rl78_make_data_address (sp),
f9426a
Index: gdb-7.7.1/gdb/rs6000-aix-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/rs6000-aix-tdep.c	2014-05-09 19:24:18.700252772 +0200
f9426a
+++ gdb-7.7.1/gdb/rs6000-aix-tdep.c	2014-05-09 20:02:09.630703770 +0200
f9426a
@@ -196,9 +196,9 @@ rs6000_push_dummy_call (struct gdbarch *
f9426a
   struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
   int ii;
f9426a
-  int len = 0;
f9426a
+  LONGEST len = 0;
f9426a
   int argno;			/* current argument number */
f9426a
-  int argbytes;			/* current argument byte */
f9426a
+  LONGEST argbytes;		/* current argument byte */
f9426a
   gdb_byte tmp_buffer[50];
f9426a
   int f_argno = 0;		/* current floating point argno */
f9426a
   int wordsize = gdbarch_tdep (gdbarch)->wordsize;
f9426a
@@ -331,7 +331,7 @@ ran_out_of_registers_for_arguments:
f9426a
 
f9426a
   if ((argno < nargs) || argbytes)
f9426a
     {
f9426a
-      int space = 0, jj;
f9426a
+      LONGEST space = 0, jj;
f9426a
 
f9426a
       if (argbytes)
f9426a
 	{
f9426a
Index: gdb-7.7.1/gdb/s390-linux-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/s390-linux-tdep.c	2014-05-09 19:24:18.701252772 +0200
f9426a
+++ gdb-7.7.1/gdb/s390-linux-tdep.c	2014-05-09 20:02:09.631703770 +0200
f9426a
@@ -2526,7 +2526,7 @@ is_float_like (struct type *type)
f9426a
 
f9426a
 
f9426a
 static int
f9426a
-is_power_of_two (unsigned int n)
f9426a
+is_power_of_two (ULONGEST n)
f9426a
 {
f9426a
   return ((n & (n - 1)) == 0);
f9426a
 }
f9426a
@@ -2712,7 +2712,7 @@ s390_push_dummy_call (struct gdbarch *gd
f9426a
       {
f9426a
 	struct value *arg = args[i];
f9426a
 	struct type *type = check_typedef (value_type (arg));
f9426a
-	unsigned length = TYPE_LENGTH (type);
f9426a
+	ULONGEST length = TYPE_LENGTH (type);
f9426a
 
f9426a
 	if (s390_function_arg_pass_by_reference (type))
f9426a
 	  {
f9426a
Index: gdb-7.7.1/gdb/score-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/score-tdep.c	2014-05-09 19:24:18.701252772 +0200
f9426a
+++ gdb-7.7.1/gdb/score-tdep.c	2014-05-09 20:02:09.631703770 +0200
f9426a
@@ -515,7 +515,7 @@ score_push_dummy_call (struct gdbarch *g
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
   int argnum;
f9426a
   int argreg;
f9426a
-  int arglen = 0;
f9426a
+  LONGEST arglen = 0;
f9426a
   CORE_ADDR stack_offset = 0;
f9426a
   CORE_ADDR addr = 0;
f9426a
 
f9426a
Index: gdb-7.7.1/gdb/sh-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/sh-tdep.c	2014-05-09 19:24:18.702252772 +0200
f9426a
+++ gdb-7.7.1/gdb/sh-tdep.c	2014-05-09 20:02:09.631703770 +0200
f9426a
@@ -807,7 +807,7 @@ sh_skip_prologue (struct gdbarch *gdbarc
f9426a
 static int
f9426a
 sh_use_struct_convention (int renesas_abi, struct type *type)
f9426a
 {
f9426a
-  int len = TYPE_LENGTH (type);
f9426a
+  LONGEST len = TYPE_LENGTH (type);
f9426a
   int nelem = TYPE_NFIELDS (type);
f9426a
 
f9426a
   /* The Renesas ABI returns aggregate types always on stack.  */
f9426a
@@ -909,7 +909,7 @@ sh_frame_align (struct gdbarch *ignore,
f9426a
 
f9426a
 /* Helper function to justify value in register according to endianess.  */
f9426a
 static const gdb_byte *
f9426a
-sh_justify_value_in_reg (struct gdbarch *gdbarch, struct value *val, int len)
f9426a
+sh_justify_value_in_reg (struct gdbarch *gdbarch, struct value *val, LONGEST len)
f9426a
 {
f9426a
   static gdb_byte valbuf[4];
f9426a
 
f9426a
@@ -1069,7 +1069,8 @@ sh_push_dummy_call_fpu (struct gdbarch *
f9426a
   struct type *type;
f9426a
   CORE_ADDR regval;
f9426a
   const gdb_byte *val;
f9426a
-  int len, reg_size = 0;
f9426a
+  LONGEST len;
f9426a
+  int reg_size = 0;
f9426a
   int pass_on_stack = 0;
f9426a
   int treat_as_flt;
f9426a
   int last_reg_arg = INT_MAX;
f9426a
@@ -1210,7 +1211,8 @@ sh_push_dummy_call_nofpu (struct gdbarch
f9426a
   struct type *type;
f9426a
   CORE_ADDR regval;
f9426a
   const gdb_byte *val;
f9426a
-  int len, reg_size = 0;
f9426a
+  LONGEST len;
f9426a
+  int reg_size = 0;
f9426a
   int pass_on_stack = 0;
f9426a
   int last_reg_arg = INT_MAX;
f9426a
 
f9426a
Index: gdb-7.7.1/gdb/sh64-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/sh64-tdep.c	2014-05-09 19:24:18.702252772 +0200
f9426a
+++ gdb-7.7.1/gdb/sh64-tdep.c	2014-05-09 20:02:09.632703771 +0200
f9426a
@@ -1058,7 +1058,7 @@ sh64_push_dummy_call (struct gdbarch *gd
f9426a
 		      CORE_ADDR struct_addr)
f9426a
 {
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
-  int stack_offset, stack_alloc;
f9426a
+  LONGEST stack_offset, stack_alloc;
f9426a
   int int_argreg;
f9426a
   int float_argreg;
f9426a
   int double_argreg;
f9426a
@@ -1069,7 +1069,7 @@ sh64_push_dummy_call (struct gdbarch *gd
f9426a
   CORE_ADDR regval;
f9426a
   const gdb_byte *val;
f9426a
   gdb_byte valbuf[8];
f9426a
-  int len;
f9426a
+  LONGEST len;
f9426a
   int argreg_size;
f9426a
   int fp_args[12];
f9426a
 
f9426a
Index: gdb-7.7.1/gdb/sparc-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/sparc-tdep.c	2014-05-09 19:24:18.703252772 +0200
f9426a
+++ gdb-7.7.1/gdb/sparc-tdep.c	2014-05-09 20:02:09.632703771 +0200
f9426a
@@ -502,7 +502,7 @@ sparc32_store_arguments (struct regcache
f9426a
   for (i = 0; i < nargs; i++)
f9426a
     {
f9426a
       struct type *type = value_type (args[i]);
f9426a
-      int len = TYPE_LENGTH (type);
f9426a
+      LONGEST len = TYPE_LENGTH (type);
f9426a
 
f9426a
       if (sparc_structure_or_union_p (type)
f9426a
 	  || (sparc_floating_p (type) && len == 16)
f9426a
Index: gdb-7.7.1/gdb/sparc64-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/sparc64-tdep.c	2014-05-09 19:24:18.704252773 +0200
f9426a
+++ gdb-7.7.1/gdb/sparc64-tdep.c	2014-05-09 20:02:09.632703771 +0200
f9426a
@@ -639,7 +639,8 @@ sparc64_16_byte_align_p (struct type *ty
f9426a
 
f9426a
 static void
f9426a
 sparc64_store_floating_fields (struct regcache *regcache, struct type *type,
f9426a
-			       const gdb_byte *valbuf, int element, int bitpos)
f9426a
+			       const gdb_byte *valbuf, int element,
f9426a
+			       LONGEST bitpos)
f9426a
 {
f9426a
   int len = TYPE_LENGTH (type);
f9426a
 
f9426a
@@ -681,7 +682,7 @@ sparc64_store_floating_fields (struct re
f9426a
       for (i = 0; i < TYPE_NFIELDS (type); i++)
f9426a
 	{
f9426a
 	  struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
f9426a
-	  int subpos = bitpos + TYPE_FIELD_BITPOS (type, i);
f9426a
+	  LONGEST subpos = bitpos + TYPE_FIELD_BITPOS (type, i);
f9426a
 
f9426a
 	  sparc64_store_floating_fields (regcache, subtype, valbuf,
f9426a
 					 element, subpos);
f9426a
@@ -713,7 +714,7 @@ sparc64_store_floating_fields (struct re
f9426a
 
f9426a
 static void
f9426a
 sparc64_extract_floating_fields (struct regcache *regcache, struct type *type,
f9426a
-				 gdb_byte *valbuf, int bitpos)
f9426a
+				 gdb_byte *valbuf, LONGEST bitpos)
f9426a
 {
f9426a
   if (sparc64_floating_p (type))
f9426a
     {
f9426a
@@ -750,7 +751,7 @@ sparc64_extract_floating_fields (struct
f9426a
       for (i = 0; i < TYPE_NFIELDS (type); i++)
f9426a
 	{
f9426a
 	  struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
f9426a
-	  int subpos = bitpos + TYPE_FIELD_BITPOS (type, i);
f9426a
+	  LONGEST subpos = bitpos + TYPE_FIELD_BITPOS (type, i);
f9426a
 
f9426a
 	  sparc64_extract_floating_fields (regcache, subtype, valbuf, subpos);
f9426a
 	}
f9426a
@@ -783,7 +784,7 @@ sparc64_store_arguments (struct regcache
f9426a
   for (i = 0; i < nargs; i++)
f9426a
     {
f9426a
       struct type *type = value_type (args[i]);
f9426a
-      int len = TYPE_LENGTH (type);
f9426a
+      LONGEST len = TYPE_LENGTH (type);
f9426a
 
f9426a
       if (sparc64_structure_or_union_p (type)
f9426a
 	  || (sparc64_complex_floating_p (type) && len == 32))
f9426a
@@ -883,7 +884,7 @@ sparc64_store_arguments (struct regcache
f9426a
     {
f9426a
       const gdb_byte *valbuf = value_contents (args[i]);
f9426a
       struct type *type = value_type (args[i]);
f9426a
-      int len = TYPE_LENGTH (type);
f9426a
+      LONGEST len = TYPE_LENGTH (type);
f9426a
       int regnum = -1;
f9426a
       gdb_byte buf[16];
f9426a
 
f9426a
Index: gdb-7.7.1/gdb/spu-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/spu-tdep.c	2014-05-09 19:24:18.704252773 +0200
f9426a
+++ gdb-7.7.1/gdb/spu-tdep.c	2014-05-09 20:02:09.633703771 +0200
f9426a
@@ -1376,7 +1376,7 @@ spu_push_dummy_call (struct gdbarch *gdb
f9426a
       struct value *arg = args[i];
f9426a
       struct type *type = check_typedef (value_type (arg));
f9426a
       const gdb_byte *contents = value_contents (arg);
f9426a
-      int n_regs = align_up (TYPE_LENGTH (type), 16) / 16;
f9426a
+      LONGEST n_regs = align_up (TYPE_LENGTH (type), 16) / 16;
f9426a
 
f9426a
       /* If the argument doesn't wholly fit into registers, it and
f9426a
 	 all subsequent arguments go to the stack.  */
f9426a
@@ -1408,7 +1408,7 @@ spu_push_dummy_call (struct gdbarch *gdb
f9426a
 	{
f9426a
 	  struct value *arg = args[i];
f9426a
 	  struct type *type = check_typedef (value_type (arg));
f9426a
-	  int len = TYPE_LENGTH (type);
f9426a
+	  LONGEST len = TYPE_LENGTH (type);
f9426a
 	  int preferred_slot;
f9426a
 	  
f9426a
 	  if (spu_scalar_value_p (type))
f9426a
Index: gdb-7.7.1/gdb/tic6x-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/tic6x-tdep.c	2014-05-09 19:24:18.705252773 +0200
f9426a
+++ gdb-7.7.1/gdb/tic6x-tdep.c	2014-05-09 20:02:09.633703771 +0200
f9426a
@@ -896,7 +896,7 @@ tic6x_push_dummy_call (struct gdbarch *g
f9426a
   int argreg = 0;
f9426a
   int argnum;
f9426a
   int stack_offset = 4;
f9426a
-  int references_offset = 4;
f9426a
+  LONGEST references_offset = 4;
f9426a
   CORE_ADDR func_addr = find_function_addr (function, NULL);
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
   struct type *func_type = value_type (function);
f9426a
@@ -930,7 +930,7 @@ tic6x_push_dummy_call (struct gdbarch *g
f9426a
   /* Now make space on the stack for the args.  */
f9426a
   for (argnum = 0; argnum < nargs; argnum++)
f9426a
     {
f9426a
-      int len = align_up (TYPE_LENGTH (value_type (args[argnum])), 4);
f9426a
+      LONGEST len = align_up (TYPE_LENGTH (value_type (args[argnum])), 4);
f9426a
       if (argnum >= 10 - argreg)
f9426a
 	references_offset += len;
f9426a
       stack_offset += len;
f9426a
@@ -949,7 +949,7 @@ tic6x_push_dummy_call (struct gdbarch *g
f9426a
       const gdb_byte *val;
f9426a
       struct value *arg = args[argnum];
f9426a
       struct type *arg_type = check_typedef (value_type (arg));
f9426a
-      int len = TYPE_LENGTH (arg_type);
f9426a
+      ssize_t len = TYPE_LENGTH (arg_type);
f9426a
       enum type_code typecode = TYPE_CODE (arg_type);
f9426a
 
f9426a
       val = value_contents (arg);
f9426a
@@ -1109,7 +1109,8 @@ tic6x_push_dummy_call (struct gdbarch *g
f9426a
 	    }
f9426a
 	  else
f9426a
 	    internal_error (__FILE__, __LINE__,
f9426a
-			    _("unexpected length %d of arg %d"), len, argnum);
f9426a
+			    _("unexpected length %s of arg %d"),
f9426a
+			    plongest (len), argnum);
f9426a
 
f9426a
 	  addr = sp + stack_offset;
f9426a
 	  write_memory (addr, val, len);
f9426a
Index: gdb-7.7.1/gdb/tilegx-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/tilegx-tdep.c	2014-05-09 19:24:18.705252773 +0200
f9426a
+++ gdb-7.7.1/gdb/tilegx-tdep.c	2014-05-09 20:02:09.633703771 +0200
f9426a
@@ -290,7 +290,7 @@ tilegx_push_dummy_call (struct gdbarch *
f9426a
   CORE_ADDR stack_dest = sp;
f9426a
   int argreg = TILEGX_R0_REGNUM;
f9426a
   int i, j;
f9426a
-  int typelen, slacklen, alignlen;
f9426a
+  LONGEST typelen, slacklen, alignlen;
f9426a
   static const gdb_byte four_zero_words[16] = { 0 };
f9426a
 
f9426a
   /* If struct_return is 1, then the struct return address will
f9426a
Index: gdb-7.7.1/gdb/v850-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/v850-tdep.c	2014-05-09 19:24:18.705252773 +0200
f9426a
+++ gdb-7.7.1/gdb/v850-tdep.c	2014-05-09 20:02:09.634703771 +0200
f9426a
@@ -1021,7 +1021,7 @@ v850_push_dummy_call (struct gdbarch *gd
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
   int argreg;
f9426a
   int argnum;
f9426a
-  int len = 0;
f9426a
+  LONGEST len = 0;
f9426a
   int stack_offset;
f9426a
 
f9426a
   if (gdbarch_tdep (gdbarch)->abi == V850_ABI_RH850)
f9426a
@@ -1049,7 +1049,7 @@ v850_push_dummy_call (struct gdbarch *gd
f9426a
      in four registers available.  Loop thru args from first to last.  */
f9426a
   for (argnum = 0; argnum < nargs; argnum++)
f9426a
     {
f9426a
-      int len;
f9426a
+      LONGEST len;
f9426a
       gdb_byte *val;
f9426a
       gdb_byte valbuf[v850_reg_size];
f9426a
 
f9426a
Index: gdb-7.7.1/gdb/vax-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/vax-tdep.c	2014-05-09 19:24:18.706252773 +0200
f9426a
+++ gdb-7.7.1/gdb/vax-tdep.c	2014-05-09 20:02:09.634703771 +0200
f9426a
@@ -115,7 +115,7 @@ vax_store_arguments (struct regcache *re
f9426a
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
   gdb_byte buf[4];
f9426a
-  int count = 0;
f9426a
+  LONGEST count = 0;
f9426a
   int i;
f9426a
 
f9426a
   /* We create an argument list on the stack, and make the argument
f9426a
@@ -124,7 +124,7 @@ vax_store_arguments (struct regcache *re
f9426a
   /* Push arguments in reverse order.  */
f9426a
   for (i = nargs - 1; i >= 0; i--)
f9426a
     {
f9426a
-      int len = TYPE_LENGTH (value_enclosing_type (args[i]));
f9426a
+      LONGEST len = TYPE_LENGTH (value_enclosing_type (args[i]));
f9426a
 
f9426a
       sp -= (len + 3) & ~3;
f9426a
       count += (len + 3) / 4;
f9426a
Index: gdb-7.7.1/gdb/xstormy16-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/xstormy16-tdep.c	2014-05-09 19:24:18.706252773 +0200
f9426a
+++ gdb-7.7.1/gdb/xstormy16-tdep.c	2014-05-09 20:02:09.634703771 +0200
f9426a
@@ -235,8 +235,9 @@ xstormy16_push_dummy_call (struct gdbarc
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
   CORE_ADDR stack_dest = sp;
f9426a
   int argreg = E_1ST_ARG_REGNUM;
f9426a
-  int i, j;
f9426a
-  int typelen, slacklen;
f9426a
+  int i, slacklen;
f9426a
+  LONGEST j;
f9426a
+  LONGEST typelen;
f9426a
   const gdb_byte *val;
f9426a
   gdb_byte buf[xstormy16_pc_size];
f9426a
 
f9426a
Index: gdb-7.7.1/gdb/xtensa-tdep.c
f9426a
===================================================================
f9426a
--- gdb-7.7.1.orig/gdb/xtensa-tdep.c	2014-05-09 19:24:18.707252773 +0200
f9426a
+++ gdb-7.7.1/gdb/xtensa-tdep.c	2014-05-09 20:02:09.634703771 +0200
f9426a
@@ -1652,8 +1652,7 @@ xtensa_store_return_value (struct type *
f9426a
 
f9426a
       if (len > (callsize > 8 ? 8 : 16))
f9426a
 	internal_error (__FILE__, __LINE__,
f9426a
-			_("unimplemented for this length: %d"),
f9426a
-			TYPE_LENGTH (type));
f9426a
+			_("unimplemented for this length: %d"), len);
f9426a
       areg = arreg_number (gdbarch,
f9426a
 			   gdbarch_tdep (gdbarch)->a0_base + 2 + callsize, wb);
f9426a
 
f9426a
@@ -1727,18 +1726,18 @@ xtensa_push_dummy_call (struct gdbarch *
f9426a
 {
f9426a
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
f9426a
   int i;
f9426a
-  int size, onstack_size;
f9426a
+  LONGEST size, onstack_size;
f9426a
   gdb_byte *buf = (gdb_byte *) alloca (16);
f9426a
   CORE_ADDR ra, ps;
f9426a
   struct argument_info
f9426a
   {
f9426a
     const bfd_byte *contents;
f9426a
-    int length;
f9426a
+    ssize_t length;
f9426a
     int onstack;		/* onstack == 0 => in reg */
f9426a
     int align;			/* alignment */
f9426a
     union
f9426a
     {
f9426a
-      int offset;		/* stack offset if on stack.  */
f9426a
+      ssize_t offset;		/* stack offset if on stack.  */
f9426a
       int regno;		/* regno if in register.  */
f9426a
     } u;
f9426a
   };
f9426a
@@ -1762,9 +1761,10 @@ xtensa_push_dummy_call (struct gdbarch *
f9426a
         {
f9426a
 	  struct value *arg = args[i];
f9426a
 	  struct type *arg_type = check_typedef (value_type (arg));
f9426a
-	  fprintf_unfiltered (gdb_stdlog, "%2d: %s %3d ", i,
f9426a
-			      host_address_to_string (arg),
f9426a
-			      TYPE_LENGTH (arg_type));
f9426a
+	  const char *arg_type_len_s = pulongest (TYPE_LENGTH (arg_type));
f9426a
+
f9426a
+	  fprintf_unfiltered (gdb_stdlog, "%2d: %s %s ", i,
f9426a
+			      host_address_to_string (arg), arg_type_len_s);
f9426a
 	  switch (TYPE_CODE (arg_type))
f9426a
 	    {
f9426a
 	    case TYPE_CODE_INT:
f9426a
@@ -1834,8 +1834,8 @@ xtensa_push_dummy_call (struct gdbarch *
f9426a
 	  info->align = TYPE_LENGTH (builtin_type (gdbarch)->builtin_long);
f9426a
 	  break;
f9426a
 	}
f9426a
-      info->length = TYPE_LENGTH (arg_type);
f9426a
       info->contents = value_contents (arg);
f9426a
+      info->length = TYPE_LENGTH (arg_type);
f9426a
 
f9426a
       /* Align size and onstack_size.  */
f9426a
       size = (size + info->align - 1) & ~(info->align - 1);
f9426a
@@ -1880,7 +1880,7 @@ xtensa_push_dummy_call (struct gdbarch *
f9426a
 
f9426a
       if (info->onstack)
f9426a
 	{
f9426a
-	  int n = info->length;
f9426a
+	  ssize_t n = info->length;
f9426a
 	  CORE_ADDR offset = sp + info->u.offset;
f9426a
 
f9426a
 	  /* Odd-sized structs are aligned to the lower side of a memory
f9426a
@@ -1896,7 +1896,7 @@ xtensa_push_dummy_call (struct gdbarch *
f9426a
 	}
f9426a
       else
f9426a
 	{
f9426a
-	  int n = info->length;
f9426a
+	  ssize_t n = info->length;
f9426a
 	  const bfd_byte *cp = info->contents;
f9426a
 	  int r = info->u.regno;
f9426a