From: Siddhesh Poyarekar <siddhesh@redhat.com>
To: gdb-patches@sourceware.org
Subject: [PATCH 4/4] Bitpos expansion - tdep changes
Date: Thu, 27 Sep 2012 13:33:00 -0000 [thread overview]
Message-ID: <20120927185957.06f67649@spoyarek> (raw)
[-- Attachment #1: Type: text/plain, Size: 307 bytes --]
Hi,
This is the last part of the bitpos change. This patch does the same
thing that patch 1/4 does, except that it does so in the *-tdep files
wherever necessary. I separated these changes mainly because they are
related and can be reviewed independently. Tested on Fedora 16 x86_64.
Regards,
Siddhesh
[-- Attachment #2: ChangeLog-tdep --]
[-- Type: text/plain, Size: 5303 bytes --]
gdb/ChangeLog
* alpha-tdep.c (alpha_push_dummy_call): Expand ACCUMULATE_SIZE,
REQUIRED_ARG_REGS, OFFSET, LEN, TLEN to ssize_t.
(struct alpha_arg): Expand members LEN, OFFSET to ssize_t.
* amd64-tdep.c (amd64_push_arguments): Expand NUM_ELEMENTS,
ELEMENT and LEN to LONGEST.
(amd64_return_value): Expand LEN to LONGEST.
* amd64-windows-tdep.c (amd64_windows_return_value): Expand LEN
to LONGEST.
* arm-tdep.c (arm_vfp_cprc_sub_candidate): Return LONGEST.
Expand COUNT, SUB_COUNT to LONGEST.
(arm_vfp_call_candidate): Expand C to LONGEST.
(arm_push_dummy_call): Expand LEN to LONGEST.
* avr-tdep.c (struct stack_item): Expand member LEN to ssize_t.
(push_stack_item): Expand parameter LEN to ssize_t.
(avr_push_dummy_call): Expand LAST_REGNUM, J, LEN to ssize_t.
* bfin-tdep.c (bfin_push_dummy_call): Expand TOTAL_LEN,
CONTAINER_LEN to ssize_t.
* cris-tdep.c (struct stack_item): Expand member LEN to ssize_t.
(push_stack_item): Expand parameter LEN to ssize_t.
(cris_push_dummy_call): Expand LEN, REG_DEMAND, I to ssize_t.
* h8300-tdep.c (h8300_push_dummy_call): Expand STACK_ALLOC,
STACK_OFFSET to LONGEST. Expand LEN, PADDED_LEN, OFFSET to
ssize_t.
* hppa-tdep.c (hppa64_push_dummy_call): Expand LEN to LONGEST.
(hppa64_return_value): Likewise.
* i386-darwin-tdep.c (i386_darwin_push_dummy_call): Expand
ARGS_SPACE to LONGEST.
* i386-tdep.c (i386_push_dummy_call): Expand ARG_SPACE,
ARG_SPACE_USED, LEN to LONGEST.
(i386_reg_struct_return_p): Expand LEN to LONGEST.
(i386_convert_register_p): Likewise.
(i386_register_to_value): Likewise.
(i386_value_to_register): Likewise.
* ia64-tdep.c (ia64_push_dummy_call): Expand ARGOFFSET, LEN,
NSLOTS, MEMSLOTS to LONGEST.
* iq2000-tdep.c (iq2000_push_dummy_call): Expand TYPELEN,
STACKSPACE to LONGEST.
* m32r-tdep.c (m32r_push_dummy_call): Expand LEN to LONGEST.
* m68k-tdep.c (m68k_reg_struct_return_p): Expand LEN to LONGEST.
(m68k_push_dummy_call): Expand LEN, CONTAINER_LEN, OFFSET to
LONGEST.
* m88k-tdep.c (m88k_store_arguments): Expand NUM_STACK_WORDS,
LEN, STACK_WORD to LONGEST.
* mep-tdep.c (push_large_arguments): Expand ARG_LEN to ULONGEST.
* microblaze-tdep.c (microblaze_store_return_value): Expand LEN to
LONGEST.
* mips-tdep.c (mips_xfer_register): Expand parameter BUF_OFFSET to
LONGEST. Use plongest to format print BUF_OFFSET.
(mips_eabi_push_dummy_call): Expand LEN to LONGEST. Use plongest
to format print LEN.
(mips_n32n64_fp_arg_chunk_p): Expand parameter OFFSET to LONGEST.
Expand POS to LONGEST.
(mips_n32n64_push_dummy_call): Expand LEN to LONGEST.
(mips_n32n64_return_value): Expand OFFSET to LONGEST. Use
plongest to format print OFFSET.
(mips_o32_push_dummy_call): Expand LEN to LONGEST. Use plongest
to format print LEN.
(mips_o64_push_dummy_call): Expand LEN, STACK_OFFSET to LONGEST.
Use plongest to format print LEN.
* mn10300-tdep.c (mn10300_push_dummy_call): Expand LEN to
LONGEST.
* mt-tdep.c (mt_push_dummy_call): Expand STACK_DEST, TYPELEN to
LONGEST.
* ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Expand
ARGSPACE, ARGOFFSET, STRUCTOFFSET, LEN, to LONGEST.
(ppc64_sysv_abi_push_dummy_call): Expand BYTE, LEN to ssize_t.
* rl78-tdep.c (rl78_push_dummy_call): Expand LEN, CONTAINER_LEN
to LONGEST.
* rs6000-aix-tdep.c (rs6000_push_dummy_call): Expand ARGBYTES,
LEN to LONGEST.
(ran_out_of_registers_for_arguments): Expand SPACE, JJ to
LONGEST.
* s390-tdep.c (s390_value_from_register): Expand LEN to LONGEST.
(is_power_of_two): Expand parameter N to ULONGEST.
(s390_push_dummy_call): Expand LENGTH to ULONGEST.
* score-tdep.c (score_push_dummy_call): Expand ARGLEN to
LONGEST.
* sh-tdep.c (sh_use_struct_convention) Expand len to LONGEST.
(sh_justify_value_in_reg): Expand parameter LEN to LONGEST.
(sh_push_dummy_call_fpu): Expand LEN to LONGEST. Expand REG_SIZE
to ssize_t.
(sh_push_dummy_call_nofpu): Likewise.
* sh64-tdep.c (sh64_push_dummy_call): Expand STACK_OFFSET,
STACK_ALLOC, LEN to LONGEST.
* sparc-tdep.c (sparc32_store_arguments): Expand LEN to LONGEST.
* sparc64-tdep.c (sparc64_store_floating_fields): Expand
parameter BITPOS to LONGEST. Expand SUBPOS to LONGEST.
(sparc64_extract_floating_fields): Likewise.
(sparc64_store_arguments): Expand LEN to LONGEST.
* spu-tdep.c (spu_push_dummy_call): Expand N_REGS, LEN to LONGEST.
(spu_value_from_register): Expand LEN to LONGEST.
* tic6x-tdep.c (tic6x_push_dummy_call): Expand REFERENCES_OFFST,
LEN to LONGEST. Expand LEN to ssize_t. Use plongest to format
print LEN.
* tilegx-tdep.c (tilegx_push_dummy_call): Expand TYPELEN,
SLACKLEN, ALIGNLEN to LONGEST.
* v850-tdep.c (v850_push_dummy_call): Expand LEN to LONGEST.
* vax-tdep.c (vax_store_arguments): Expand COUNT, LEN to LONGEST.
(vax_return_value): Expand LEN to LONGEST.
* xstormy16-tdep.c (xstormy16_push_dummy_call): Expand J, TYPELEN
to LONGEST.
* xtensa-tdep.c (xtensa_store_return_value): Print LEN instead of
TYPE_LENGTH..
(struct argument_info): Expoand member LENGTH to ssize_t.
(struct argument_info.u): Expand member OFFSET to ssize_t.
(xtensa_push_dummy_call): Expand SIZE, ONSTACK_SIZE to LONGEST.
Expand N to ssize_t. Use pulongest to format print TYPE_LENGTH.
[-- Attachment #3: bitpos-tdep.patch --]
[-- Type: text/x-patch, Size: 42979 bytes --]
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
index ff719d8..7e6a3df 100644
--- a/gdb/alpha-tdep.c
+++ b/gdb/alpha-tdep.c
@@ -299,18 +299,18 @@ alpha_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
{
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int i;
- int accumulate_size = struct_return ? 8 : 0;
+ ssize_t accumulate_size = struct_return ? 8 : 0;
struct alpha_arg
{
const gdb_byte *contents;
- int len;
- int offset;
+ ssize_t len;
+ ssize_t offset;
};
struct alpha_arg *alpha_args
= (struct alpha_arg *) alloca (nargs * sizeof (struct alpha_arg));
struct alpha_arg *m_arg;
gdb_byte arg_reg_buffer[ALPHA_REGISTER_SIZE * ALPHA_NUM_ARG_REGS];
- int required_arg_regs;
+ ssize_t required_arg_regs;
CORE_ADDR func_addr = find_function_addr (function, NULL);
/* The ABI places the address of the called function in T12. */
@@ -430,8 +430,8 @@ alpha_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
for (i = nargs; m_arg--, --i >= 0;)
{
const gdb_byte *contents = m_arg->contents;
- int offset = m_arg->offset;
- int len = m_arg->len;
+ ssize_t offset = m_arg->offset;
+ ssize_t len = m_arg->len;
/* Copy the bytes destined for registers into arg_reg_buffer. */
if (offset < sizeof(arg_reg_buffer))
@@ -443,7 +443,7 @@ alpha_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
}
else
{
- int tlen = sizeof(arg_reg_buffer) - offset;
+ ssize_t tlen = sizeof(arg_reg_buffer) - offset;
memcpy (arg_reg_buffer + offset, contents, tlen);
offset += tlen;
contents += tlen;
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
index 8c5b6cc..c45ac78 100644
--- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c
@@ -599,7 +599,7 @@ amd64_return_value (struct gdbarch *gdbarch, struct value *function,
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
enum amd64_reg_class class[2];
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
static int integer_regnum[] = { AMD64_RAX_REGNUM, AMD64_RDX_REGNUM };
static int sse_regnum[] = { AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM };
int integer_reg = 0;
@@ -728,8 +728,8 @@ amd64_push_arguments (struct regcache *regcache, int nargs,
that register number (or a negative value otherwise). */
int *arg_addr_regno = alloca (nargs * sizeof (int));
int num_stack_args = 0;
- int num_elements = 0;
- int element = 0;
+ LONGEST num_elements = 0;
+ LONGEST element = 0;
int integer_reg = 0;
int sse_reg = 0;
int i;
@@ -743,7 +743,7 @@ amd64_push_arguments (struct regcache *regcache, int nargs,
for (i = 0; i < nargs; i++)
{
struct type *type = value_type (args[i]);
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
enum amd64_reg_class class[2];
int needed_integer_regs = 0;
int needed_sse_regs = 0;
diff --git a/gdb/amd64-windows-tdep.c b/gdb/amd64-windows-tdep.c
index 528fbb6..e9614fb 100644
--- a/gdb/amd64-windows-tdep.c
+++ b/gdb/amd64-windows-tdep.c
@@ -79,7 +79,7 @@ amd64_windows_return_value (struct gdbarch *gdbarch, struct value *function,
struct type *type, struct regcache *regcache,
gdb_byte *readbuf, const gdb_byte *writebuf)
{
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
int regnum = -1;
/* See if our value is returned through a register. If it is, then
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 05a030a..fe36782 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -3377,7 +3377,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc_base_type b)
array). Vectors and complex types are not currently supported,
matching the generic AAPCS support. */
-static int
+static LONGEST
arm_vfp_cprc_sub_candidate (struct type *t,
enum arm_vfp_cprc_base_type *base_type)
{
@@ -3408,7 +3408,7 @@ arm_vfp_cprc_sub_candidate (struct type *t,
case TYPE_CODE_ARRAY:
{
- int count;
+ LONGEST count;
unsigned unitlen;
count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t), base_type);
if (count == -1)
@@ -3428,13 +3428,15 @@ arm_vfp_cprc_sub_candidate (struct type *t,
case TYPE_CODE_STRUCT:
{
- int count = 0;
+ LONGEST count = 0;
unsigned unitlen;
int i;
for (i = 0; i < TYPE_NFIELDS (t); i++)
{
- int sub_count = arm_vfp_cprc_sub_candidate (TYPE_FIELD_TYPE (t, i),
- base_type);
+ LONGEST sub_count;
+
+ sub_count = arm_vfp_cprc_sub_candidate (TYPE_FIELD_TYPE (t, i),
+ base_type);
if (sub_count == -1)
return -1;
count += sub_count;
@@ -3454,13 +3456,15 @@ arm_vfp_cprc_sub_candidate (struct type *t,
case TYPE_CODE_UNION:
{
- int count = 0;
+ LONGEST count = 0;
unsigned unitlen;
int i;
for (i = 0; i < TYPE_NFIELDS (t); i++)
{
- int sub_count = arm_vfp_cprc_sub_candidate (TYPE_FIELD_TYPE (t, i),
- base_type);
+ LONGEST sub_count;
+
+ sub_count = arm_vfp_cprc_sub_candidate (TYPE_FIELD_TYPE (t, i),
+ base_type);
if (sub_count == -1)
return -1;
count = (count > sub_count ? count : sub_count);
@@ -3496,7 +3500,7 @@ arm_vfp_call_candidate (struct type *t, enum arm_vfp_cprc_base_type *base_type,
int *count)
{
enum arm_vfp_cprc_base_type b = VFP_CPRC_UNKNOWN;
- int c = arm_vfp_cprc_sub_candidate (t, &b);
+ LONGEST c = arm_vfp_cprc_sub_candidate (t, &b);
if (c <= 0 || c > 4)
return 0;
*base_type = b;
@@ -3577,7 +3581,7 @@ arm_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
for (argnum = 0; argnum < nargs; argnum++)
{
- int len;
+ LONGEST len;
struct type *arg_type;
struct type *target_type;
enum type_code typecode;
diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c
index 864d288..0a9fc5f 100644
--- a/gdb/avr-tdep.c
+++ b/gdb/avr-tdep.c
@@ -1170,13 +1170,14 @@ avr_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
struct stack_item
{
- int len;
+ ssize_t len;
struct stack_item *prev;
void *data;
};
static struct stack_item *
-push_stack_item (struct stack_item *prev, const bfd_byte *contents, int len)
+push_stack_item (struct stack_item *prev, const bfd_byte *contents,
+ ssize_t len)
{
struct stack_item *si;
si = xmalloc (sizeof (struct stack_item));
@@ -1265,12 +1266,12 @@ avr_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
for (i = 0; i < nargs; i++)
{
- int last_regnum;
- int j;
+ ssize_t last_regnum;
+ ssize_t j;
struct value *arg = args[i];
struct type *type = check_typedef (value_type (arg));
const bfd_byte *contents = value_contents (arg);
- int len = TYPE_LENGTH (type);
+ ssize_t len = TYPE_LENGTH (type);
/* Calculate the potential last register needed. */
last_regnum = regnum - (len + (len & 1));
diff --git a/gdb/bfin-tdep.c b/gdb/bfin-tdep.c
index 4eb5763..792e269 100644
--- a/gdb/bfin-tdep.c
+++ b/gdb/bfin-tdep.c
@@ -506,7 +506,7 @@ bfin_push_dummy_call (struct gdbarch *gdbarch,
char buf[4];
int i;
long reg_r0, reg_r1, reg_r2;
- int total_len = 0;
+ ssize_t total_len = 0;
enum bfin_abi abi = bfin_abi (gdbarch);
CORE_ADDR func_addr = find_function_addr (function, NULL);
@@ -530,7 +530,7 @@ bfin_push_dummy_call (struct gdbarch *gdbarch,
{
struct type *value_type = value_enclosing_type (args[i]);
struct type *arg_type = check_typedef (value_type);
- int container_len = (TYPE_LENGTH (value_type) + 3) & ~3;
+ ssize_t container_len = (TYPE_LENGTH (value_type) + 3) & ~3;
sp -= container_len;
write_memory (sp, value_contents_writeable (args[i]), container_len);
diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c
index 6739037..483d350 100644
--- a/gdb/cris-tdep.c
+++ b/gdb/cris-tdep.c
@@ -670,13 +670,13 @@ static CORE_ADDR cris_unwind_sp (struct gdbarch *gdbarch,
struct stack_item
{
- int len;
+ ssize_t len;
struct stack_item *prev;
void *data;
};
static struct stack_item *
-push_stack_item (struct stack_item *prev, void *contents, int len)
+push_stack_item (struct stack_item *prev, void *contents, ssize_t len)
{
struct stack_item *si;
si = xmalloc (sizeof (struct stack_item));
@@ -849,13 +849,13 @@ cris_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
for (argnum = 0; argnum < nargs; argnum++)
{
- int len;
+ ssize_t len;
char *val;
- int reg_demand;
- int i;
+ ssize_t reg_demand;
+ ssize_t i;
- len = TYPE_LENGTH (value_type (args[argnum]));
val = (char *) value_contents (args[argnum]);
+ len = TYPE_LENGTH (value_type (args[argnum]));
/* How may registers worth of storage do we need for this argument? */
reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0);
diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c
index 4e98a8f..93bc669 100644
--- a/gdb/h8300-tdep.c
+++ b/gdb/h8300-tdep.c
@@ -641,7 +641,7 @@ h8300_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
int struct_return, CORE_ADDR struct_addr)
{
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
- int stack_alloc = 0, stack_offset = 0;
+ LONGEST stack_alloc = 0, stack_offset = 0;
int wordsize = BINWORD (gdbarch);
int reg = E_ARG0_REGNUM;
int argument;
@@ -668,11 +668,11 @@ h8300_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
{
struct cleanup *back_to;
struct type *type = value_type (args[argument]);
- int len = TYPE_LENGTH (type);
char *contents = (char *) value_contents (args[argument]);
+ ssize_t len = TYPE_LENGTH (type);
/* Pad the argument appropriately. */
- int padded_len = align_up (len, wordsize);
+ ssize_t padded_len = align_up (len, wordsize);
gdb_byte *padded = xmalloc (padded_len);
back_to = make_cleanup (xfree, padded);
@@ -701,7 +701,7 @@ h8300_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
/* Heavens to Betsy --- it's really going in registers!
Note that on the h8/300s, there are gaps between the
registers in the register file. */
- int offset;
+ ssize_t offset;
for (offset = 0; offset < padded_len; offset += wordsize)
{
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index 581ffc7..e66f17f 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -962,7 +962,7 @@ hppa64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
{
struct value *arg = args[i];
struct type *type = value_type (arg);
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
const bfd_byte *valbuf;
bfd_byte fptrbuf[8];
int regnum;
@@ -1157,7 +1157,7 @@ hppa64_return_value (struct gdbarch *gdbarch, struct value *function,
struct type *type, struct regcache *regcache,
gdb_byte *readbuf, const gdb_byte *writebuf)
{
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
int regnum, offset;
if (len > 16)
diff --git a/gdb/i386-darwin-tdep.c b/gdb/i386-darwin-tdep.c
index e46d1bb..02b5dea 100644
--- a/gdb/i386-darwin-tdep.c
+++ b/gdb/i386-darwin-tdep.c
@@ -166,7 +166,7 @@ i386_darwin_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
for (write_pass = 0; write_pass < 2; write_pass++)
{
- int args_space = 0;
+ LONGEST args_space = 0;
int num_m128 = 0;
if (struct_return)
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 84e9794..b8bf6d6 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -2358,7 +2358,7 @@ i386_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
gdb_byte buf[4];
int i;
int write_pass;
- int args_space = 0;
+ LONGEST args_space = 0;
/* Determine the total space required for arguments and struct
return address in a first pass (allowing for 16-byte-aligned
@@ -2366,7 +2366,7 @@ i386_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
for (write_pass = 0; write_pass < 2; write_pass++)
{
- int args_space_used = 0;
+ LONGEST args_space_used = 0;
if (struct_return)
{
@@ -2383,7 +2383,7 @@ i386_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
for (i = 0; i < nargs; i++)
{
- int len = TYPE_LENGTH (value_enclosing_type (args[i]));
+ LONGEST len = TYPE_LENGTH (value_enclosing_type (args[i]));
if (write_pass)
{
@@ -2590,7 +2590,7 @@ i386_reg_struct_return_p (struct gdbarch *gdbarch, struct type *type)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
enum type_code code = TYPE_CODE (type);
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
gdb_assert (code == TYPE_CODE_STRUCT
|| code == TYPE_CODE_UNION
@@ -3042,7 +3042,7 @@ static int
i386_convert_register_p (struct gdbarch *gdbarch,
int regnum, struct type *type)
{
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
/* Values may be spread across multiple registers. Most debugging
formats aren't expressive enough to specify the locations, so
@@ -3075,7 +3075,7 @@ i386_register_to_value (struct frame_info *frame, int regnum,
int *optimizedp, int *unavailablep)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
if (i386_fp_regnum_p (gdbarch, regnum))
return i387_register_to_value (frame, regnum, type, to,
@@ -3111,7 +3111,7 @@ static void
i386_value_to_register (struct frame_info *frame, int regnum,
struct type *type, const gdb_byte *from)
{
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
if (i386_fp_regnum_p (get_frame_arch (frame), regnum))
{
diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c
index a7a802a..b4f2c86 100644
--- a/gdb/ia64-tdep.c
+++ b/gdb/ia64-tdep.c
@@ -3719,8 +3719,10 @@ ia64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
int argno;
struct value *arg;
struct type *type;
- int len, argoffset;
- int nslots, rseslots, memslots, slotnum, nfuncargs;
+ LONGEST argoffset;
+ LONGEST len;
+ int rseslots, slotnum, nfuncargs;
+ LONGEST nslots, memslots;
int floatreg;
ULONGEST bsp;
CORE_ADDR funcdescaddr, pc, global_pointer;
diff --git a/gdb/iq2000-tdep.c b/gdb/iq2000-tdep.c
index 6ecc671..d5098ca 100644
--- a/gdb/iq2000-tdep.c
+++ b/gdb/iq2000-tdep.c
@@ -655,8 +655,9 @@ iq2000_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
const bfd_byte *val;
bfd_byte buf[4];
struct type *type;
- int i, argreg, typelen, slacklen;
- int stackspace = 0;
+ int i, argreg, slacklen;
+ LONGEST typelen;
+ LONGEST stackspace = 0;
/* Used to copy struct arguments into the stack. */
CORE_ADDR struct_ptr;
diff --git a/gdb/m32r-tdep.c b/gdb/m32r-tdep.c
index 150b9de..438f482 100644
--- a/gdb/m32r-tdep.c
+++ b/gdb/m32r-tdep.c
@@ -696,7 +696,7 @@ m32r_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
CORE_ADDR regval;
gdb_byte *val;
gdb_byte valbuf[MAX_REGISTER_SIZE];
- int len;
+ LONGEST len;
/* First force sp to a 4-byte alignment. */
sp = sp & ~3;
diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c
index b45a80f..3825362 100644
--- a/gdb/m68k-tdep.c
+++ b/gdb/m68k-tdep.c
@@ -384,7 +384,7 @@ m68k_reg_struct_return_p (struct gdbarch *gdbarch, struct type *type)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
enum type_code code = TYPE_CODE (type);
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
gdb_assert (code == TYPE_CODE_STRUCT || code == TYPE_CODE_UNION
|| code == TYPE_CODE_COMPLEX);
@@ -516,9 +516,9 @@ m68k_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
for (i = nargs - 1; i >= 0; i--)
{
struct type *value_type = value_enclosing_type (args[i]);
- int len = TYPE_LENGTH (value_type);
- int container_len = (len + 3) & ~3;
- int offset;
+ LONGEST len = TYPE_LENGTH (value_type);
+ LONGEST container_len = (len + 3) & ~3;
+ LONGEST offset;
/* Non-scalars bigger than 4 bytes are left aligned, others are
right aligned. */
diff --git a/gdb/m88k-tdep.c b/gdb/m88k-tdep.c
index c4c3266..165b229 100644
--- a/gdb/m88k-tdep.c
+++ b/gdb/m88k-tdep.c
@@ -260,13 +260,13 @@ m88k_store_arguments (struct regcache *regcache, int nargs,
{
struct gdbarch *gdbarch = get_regcache_arch (regcache);
int num_register_words = 0;
- int num_stack_words = 0;
+ LONGEST num_stack_words = 0;
int i;
for (i = 0; i < nargs; i++)
{
struct type *type = value_type (args[i]);
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
if (m88k_integral_or_pointer_p (type) && len < 4)
{
@@ -308,8 +308,8 @@ m88k_store_arguments (struct regcache *regcache, int nargs,
{
const bfd_byte *valbuf = value_contents (args[i]);
struct type *type = value_type (args[i]);
- int len = TYPE_LENGTH (type);
- int stack_word = num_stack_words;
+ LONGEST len = TYPE_LENGTH (type);
+ LONGEST stack_word = num_stack_words;
if (m88k_in_register_p (type))
{
diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c
index c73d38f..7dc863f 100644
--- a/gdb/mep-tdep.c
+++ b/gdb/mep-tdep.c
@@ -2279,7 +2279,7 @@ push_large_arguments (CORE_ADDR sp, int argc, struct value **argv,
for (i = 0; i < argc; i++)
{
- unsigned arg_len = TYPE_LENGTH (value_type (argv[i]));
+ ULONGEST arg_len = TYPE_LENGTH (value_type (argv[i]));
if (arg_len > MEP_GPR_SIZE)
{
diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c
index 9658400..ada4199 100644
--- a/gdb/microblaze-tdep.c
+++ b/gdb/microblaze-tdep.c
@@ -590,7 +590,7 @@ static void
microblaze_store_return_value (struct type *type, struct regcache *regcache,
const gdb_byte *valbuf)
{
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
gdb_byte buf[8];
memset (buf, 0, sizeof(buf));
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index 2af4c89..35846e6 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -396,7 +396,7 @@ static void
mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
int reg_num, int length,
enum bfd_endian endian, gdb_byte *in,
- const gdb_byte *out, int buf_offset)
+ const gdb_byte *out, LONGEST buf_offset)
{
int reg_offset = 0;
@@ -419,8 +419,8 @@ mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
}
if (mips_debug)
fprintf_unfiltered (gdb_stderr,
- "xfer $%d, reg offset %d, buf offset %d, length %d, ",
- reg_num, reg_offset, buf_offset, length);
+ "xfer $%d, reg offset %d, buf offset %s, length %d, ",
+ reg_num, reg_offset, plongest (buf_offset), length);
if (mips_debug && out != NULL)
{
int i;
@@ -4344,13 +4344,13 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
gdb_byte valbuf[MAX_REGISTER_SIZE];
struct value *arg = args[argnum];
struct type *arg_type = check_typedef (value_type (arg));
- int len = TYPE_LENGTH (arg_type);
+ LONGEST len = TYPE_LENGTH (arg_type);
enum type_code typecode = TYPE_CODE (arg_type);
if (mips_debug)
fprintf_unfiltered (gdb_stdlog,
- "mips_eabi_push_dummy_call: %d len=%d type=%d",
- argnum + 1, len, (int) typecode);
+ "mips_eabi_push_dummy_call: %d len=%s type=%d",
+ argnum + 1, plongest (len), (int) typecode);
/* Function pointer arguments to mips16 code need to be made into
mips16 pointers. */
@@ -4635,7 +4635,7 @@ mips_eabi_return_value (struct gdbarch *gdbarch, struct value *function,
static int
mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type,
- int offset)
+ LONGEST offset)
{
int i;
@@ -4650,7 +4650,7 @@ mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type,
for (i = 0; i < TYPE_NFIELDS (arg_type); i++)
{
- int pos;
+ LONGEST pos;
struct type *field_type;
/* We're only looking at normal fields. */
@@ -4692,7 +4692,7 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
int argreg;
int float_argreg;
int argnum;
- int len = 0;
+ LONGEST len = 0;
int stack_offset = 0;
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR func_addr = find_function_addr (function, NULL);
@@ -5043,11 +5043,11 @@ mips_n32n64_return_value (struct gdbarch *gdbarch, struct value *function,
: MIPS_V0_REGNUM);
field < TYPE_NFIELDS (type); field++, regnum += 2)
{
- int offset = (FIELD_BITPOS (TYPE_FIELDS (type)[field])
- / TARGET_CHAR_BIT);
+ LONGEST offset = (FIELD_BITPOS (TYPE_FIELDS (type)[field])
+ / TARGET_CHAR_BIT);
if (mips_debug)
- fprintf_unfiltered (gdb_stderr, "Return float struct+%d\n",
- offset);
+ fprintf_unfiltered (gdb_stderr, "Return float struct+%s\n",
+ plongest (offset));
if (TYPE_LENGTH (TYPE_FIELD_TYPE (type, field)) == 16)
{
/* A 16-byte long double field goes in two consecutive
@@ -5089,8 +5089,8 @@ mips_n32n64_return_value (struct gdbarch *gdbarch, struct value *function,
if (offset + xfer > TYPE_LENGTH (type))
xfer = TYPE_LENGTH (type) - offset;
if (mips_debug)
- fprintf_unfiltered (gdb_stderr, "Return struct+%d:%d in $%d\n",
- offset, xfer, regnum);
+ fprintf_unfiltered (gdb_stderr, "Return struct+%s:%d in $%d\n",
+ plongest (offset), xfer, regnum);
mips_xfer_register (gdbarch, regcache,
gdbarch_num_regs (gdbarch) + regnum,
xfer, BFD_ENDIAN_UNKNOWN, readbuf, writebuf,
@@ -5148,7 +5148,7 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
int argreg;
int float_argreg;
int argnum;
- int len = 0;
+ LONGEST len = 0;
int stack_offset = 0;
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR func_addr = find_function_addr (function, NULL);
@@ -5212,13 +5212,13 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
const gdb_byte *val;
struct value *arg = args[argnum];
struct type *arg_type = check_typedef (value_type (arg));
- int len = TYPE_LENGTH (arg_type);
+ LONGEST len = TYPE_LENGTH (arg_type);
enum type_code typecode = TYPE_CODE (arg_type);
if (mips_debug)
fprintf_unfiltered (gdb_stdlog,
- "mips_o32_push_dummy_call: %d len=%d type=%d",
- argnum + 1, len, (int) typecode);
+ "mips_o32_push_dummy_call: %d len=%s type=%d",
+ argnum + 1, plongest (len), (int) typecode);
val = value_contents (arg);
@@ -5676,8 +5676,8 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
int argreg;
int float_argreg;
int argnum;
- int len = 0;
- int stack_offset = 0;
+ LONGEST len = 0;
+ LONGEST stack_offset = 0;
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR func_addr = find_function_addr (function, NULL);
@@ -5738,13 +5738,13 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
gdb_byte valbuf[MAX_REGISTER_SIZE];
struct value *arg = args[argnum];
struct type *arg_type = check_typedef (value_type (arg));
- int len = TYPE_LENGTH (arg_type);
+ LONGEST len = TYPE_LENGTH (arg_type);
enum type_code typecode = TYPE_CODE (arg_type);
if (mips_debug)
fprintf_unfiltered (gdb_stdlog,
- "mips_o64_push_dummy_call: %d len=%d type=%d",
- argnum + 1, len, (int) typecode);
+ "mips_o64_push_dummy_call: %d len=%s type=%d",
+ argnum + 1, plongest (len), (int) typecode);
val = value_contents (arg);
diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c
index e292613..9580a58 100644
--- a/gdb/mn10300-tdep.c
+++ b/gdb/mn10300-tdep.c
@@ -1228,7 +1228,7 @@ mn10300_push_dummy_call (struct gdbarch *gdbarch,
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
const int push_size = register_size (gdbarch, E_PC_REGNUM);
int regs_used;
- int len, arg_len;
+ LONGEST len, arg_len;
int stack_offset = 0;
int argnum;
char *val, valbuf[MAX_REGISTER_SIZE];
diff --git a/gdb/mt-tdep.c b/gdb/mt-tdep.c
index 0ae51b3..2661f6e 100644
--- a/gdb/mt-tdep.c
+++ b/gdb/mt-tdep.c
@@ -783,9 +783,9 @@ mt_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
gdb_byte buf[MT_MAX_STRUCT_SIZE];
int argreg = MT_1ST_ARGREG;
int split_param_len = 0;
- int stack_dest = sp;
+ LONGEST stack_dest = sp;
int slacklen;
- int typelen;
+ LONGEST typelen;
int i, j;
/* First handle however many args we can fit into MT_1ST_ARGREG thru
diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c
index a221b70..bd7824c 100644
--- a/gdb/ppc-sysv-tdep.c
+++ b/gdb/ppc-sysv-tdep.c
@@ -69,7 +69,7 @@ ppc_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function));
ULONGEST saved_sp;
- int argspace = 0; /* 0 is an initial wrong guess. */
+ LONGEST argspace = 0; /* 0 is an initial wrong guess. */
int write_pass;
gdb_assert (tdep->wordsize == 4);
@@ -100,9 +100,9 @@ ppc_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
/* Next available vector register for vector arguments. */
int vreg = 2;
/* Arguments start above the "LR save word" and "Back chain". */
- int argoffset = 2 * tdep->wordsize;
+ LONGEST argoffset = 2 * tdep->wordsize;
/* Structures start after the arguments. */
- int structoffset = argoffset + argspace;
+ LONGEST structoffset = argoffset + argspace;
/* If the function is returning a `struct', then the first word
(which will be passed in r3) is used for struct return
@@ -121,7 +121,7 @@ ppc_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
{
struct value *arg = args[argno];
struct type *type = check_typedef (value_type (arg));
- int len = TYPE_LENGTH (type);
+ ssize_t len = TYPE_LENGTH (type);
const bfd_byte *val = value_contents (arg);
if (TYPE_CODE (type) == TYPE_CODE_FLT && len <= 8
@@ -1557,14 +1557,14 @@ ppc64_sysv_abi_push_dummy_call (struct gdbarch *gdbarch,
}
else
{
- int byte;
+ ssize_t byte;
for (byte = 0; byte < TYPE_LENGTH (type);
byte += tdep->wordsize)
{
if (write_pass && greg <= 10)
{
gdb_byte regval[MAX_REGISTER_SIZE];
- int len = TYPE_LENGTH (type) - byte;
+ ssize_t len = TYPE_LENGTH (type) - byte;
if (len > tdep->wordsize)
len = tdep->wordsize;
memset (regval, 0, sizeof regval);
@@ -1592,7 +1592,7 @@ ppc64_sysv_abi_push_dummy_call (struct gdbarch *gdbarch,
register. Work around this by always writing the
value to memory. Fortunately, doing this
simplifies the code. */
- int len = TYPE_LENGTH (type);
+ ssize_t len = TYPE_LENGTH (type);
if (len < tdep->wordsize)
write_memory (gparam + tdep->wordsize - len, val, len);
else
diff --git a/gdb/rl78-tdep.c b/gdb/rl78-tdep.c
index acd36c2..97afb36 100644
--- a/gdb/rl78-tdep.c
+++ b/gdb/rl78-tdep.c
@@ -1019,8 +1019,8 @@ rl78_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
for (i = nargs - 1; i >= 0; i--)
{
struct type *value_type = value_enclosing_type (args[i]);
- int len = TYPE_LENGTH (value_type);
- int container_len = (len + 1) & ~1;
+ LONGEST len = TYPE_LENGTH (value_type);
+ LONGEST container_len = (len + 1) & ~1;
sp -= container_len;
write_memory (rl78_make_data_address (sp),
diff --git a/gdb/rs6000-aix-tdep.c b/gdb/rs6000-aix-tdep.c
index 59cfa73..37353f6 100644
--- a/gdb/rs6000-aix-tdep.c
+++ b/gdb/rs6000-aix-tdep.c
@@ -197,9 +197,9 @@ rs6000_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int ii;
- int len = 0;
+ LONGEST len = 0;
int argno; /* current argument number */
- int argbytes; /* current argument byte */
+ LONGEST argbytes; /* current argument byte */
gdb_byte tmp_buffer[50];
int f_argno = 0; /* current floating point argno */
int wordsize = gdbarch_tdep (gdbarch)->wordsize;
@@ -327,7 +327,7 @@ ran_out_of_registers_for_arguments:
if ((argno < nargs) || argbytes)
{
- int space = 0, jj;
+ LONGEST space = 0, jj;
if (argbytes)
{
diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c
index 6cd6fd4..801c86c 100644
--- a/gdb/s390-tdep.c
+++ b/gdb/s390-tdep.c
@@ -2481,7 +2481,7 @@ is_float_like (struct type *type)
static int
-is_power_of_two (unsigned int n)
+is_power_of_two (ULONGEST n)
{
return ((n & (n - 1)) == 0);
}
@@ -2667,7 +2667,7 @@ s390_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
{
struct value *arg = args[i];
struct type *type = check_typedef (value_type (arg));
- unsigned length = TYPE_LENGTH (type);
+ ULONGEST length = TYPE_LENGTH (type);
if (s390_function_arg_pass_by_reference (type))
{
diff --git a/gdb/score-tdep.c b/gdb/score-tdep.c
index fb25806..5711d99 100644
--- a/gdb/score-tdep.c
+++ b/gdb/score-tdep.c
@@ -515,7 +515,7 @@ score_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int argnum;
int argreg;
- int arglen = 0;
+ LONGEST arglen = 0;
CORE_ADDR stack_offset = 0;
CORE_ADDR addr = 0;
diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
index 8592ed4..5e5388a 100644
--- a/gdb/sh-tdep.c
+++ b/gdb/sh-tdep.c
@@ -807,7 +807,7 @@ sh_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
static int
sh_use_struct_convention (int renesas_abi, struct type *type)
{
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
int nelem = TYPE_NFIELDS (type);
/* The Renesas ABI returns aggregate types always on stack. */
@@ -909,7 +909,7 @@ sh_frame_align (struct gdbarch *ignore, CORE_ADDR sp)
/* Helper function to justify value in register according to endianess. */
static char *
-sh_justify_value_in_reg (struct gdbarch *gdbarch, struct value *val, int len)
+sh_justify_value_in_reg (struct gdbarch *gdbarch, struct value *val, LONGEST len)
{
static char valbuf[4];
@@ -1069,7 +1069,8 @@ sh_push_dummy_call_fpu (struct gdbarch *gdbarch,
struct type *type;
CORE_ADDR regval;
char *val;
- int len, reg_size = 0;
+ LONGEST len;
+ ssize_t reg_size = 0;
int pass_on_stack = 0;
int treat_as_flt;
int last_reg_arg = INT_MAX;
@@ -1210,7 +1211,8 @@ sh_push_dummy_call_nofpu (struct gdbarch *gdbarch,
struct type *type;
CORE_ADDR regval;
char *val;
- int len, reg_size = 0;
+ LONGEST len;
+ ssize_t reg_size = 0;
int pass_on_stack = 0;
int last_reg_arg = INT_MAX;
diff --git a/gdb/sh64-tdep.c b/gdb/sh64-tdep.c
index 4e6f262..b050833 100644
--- a/gdb/sh64-tdep.c
+++ b/gdb/sh64-tdep.c
@@ -1058,7 +1058,7 @@ sh64_push_dummy_call (struct gdbarch *gdbarch,
CORE_ADDR struct_addr)
{
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
- int stack_offset, stack_alloc;
+ LONGEST stack_offset, stack_alloc;
int int_argreg;
int float_argreg;
int double_argreg;
@@ -1069,7 +1069,7 @@ sh64_push_dummy_call (struct gdbarch *gdbarch,
CORE_ADDR regval;
char *val;
char valbuf[8];
- int len;
+ LONGEST len;
int argreg_size;
int fp_args[12];
diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c
index 6da2297..0cacfd7 100644
--- a/gdb/sparc-tdep.c
+++ b/gdb/sparc-tdep.c
@@ -470,7 +470,7 @@ sparc32_store_arguments (struct regcache *regcache, int nargs,
for (i = 0; i < nargs; i++)
{
struct type *type = value_type (args[i]);
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
if (sparc_structure_or_union_p (type)
|| (sparc_floating_p (type) && len == 16)
diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c
index 28c9ca4..f600b87 100644
--- a/gdb/sparc64-tdep.c
+++ b/gdb/sparc64-tdep.c
@@ -639,7 +639,8 @@ sparc64_16_byte_align_p (struct type *type)
static void
sparc64_store_floating_fields (struct regcache *regcache, struct type *type,
- const gdb_byte *valbuf, int element, int bitpos)
+ const gdb_byte *valbuf, int element,
+ LONGEST bitpos)
{
int len = TYPE_LENGTH (type);
@@ -681,7 +682,7 @@ sparc64_store_floating_fields (struct regcache *regcache, struct type *type,
for (i = 0; i < TYPE_NFIELDS (type); i++)
{
struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
- int subpos = bitpos + TYPE_FIELD_BITPOS (type, i);
+ LONGEST subpos = bitpos + TYPE_FIELD_BITPOS (type, i);
sparc64_store_floating_fields (regcache, subtype, valbuf,
element, subpos);
@@ -713,7 +714,7 @@ sparc64_store_floating_fields (struct regcache *regcache, struct type *type,
static void
sparc64_extract_floating_fields (struct regcache *regcache, struct type *type,
- gdb_byte *valbuf, int bitpos)
+ gdb_byte *valbuf, LONGEST bitpos)
{
if (sparc64_floating_p (type))
{
@@ -750,7 +751,7 @@ sparc64_extract_floating_fields (struct regcache *regcache, struct type *type,
for (i = 0; i < TYPE_NFIELDS (type); i++)
{
struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
- int subpos = bitpos + TYPE_FIELD_BITPOS (type, i);
+ LONGEST subpos = bitpos + TYPE_FIELD_BITPOS (type, i);
sparc64_extract_floating_fields (regcache, subtype, valbuf, subpos);
}
@@ -783,7 +784,7 @@ sparc64_store_arguments (struct regcache *regcache, int nargs,
for (i = 0; i < nargs; i++)
{
struct type *type = value_type (args[i]);
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
if (sparc64_structure_or_union_p (type)
|| (sparc64_complex_floating_p (type) && len == 32))
@@ -883,7 +884,7 @@ sparc64_store_arguments (struct regcache *regcache, int nargs,
{
const gdb_byte *valbuf = value_contents (args[i]);
struct type *type = value_type (args[i]);
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
int regnum = -1;
gdb_byte buf[16];
diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c
index 8419a5a..a9f2a41 100644
--- a/gdb/spu-tdep.c
+++ b/gdb/spu-tdep.c
@@ -316,7 +316,7 @@ spu_value_from_register (struct type *type, int regnum,
struct frame_info *frame)
{
struct value *value = default_value_from_register (type, regnum, frame);
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
if (regnum < SPU_NUM_GPRS && len < 16)
{
@@ -1373,7 +1373,7 @@ spu_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
struct value *arg = args[i];
struct type *type = check_typedef (value_type (arg));
const gdb_byte *contents = value_contents (arg);
- int n_regs = align_up (TYPE_LENGTH (type), 16) / 16;
+ LONGEST n_regs = align_up (TYPE_LENGTH (type), 16) / 16;
/* If the argument doesn't wholly fit into registers, it and
all subsequent arguments go to the stack. */
@@ -1405,7 +1405,7 @@ spu_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
{
struct value *arg = args[i];
struct type *type = check_typedef (value_type (arg));
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
int preferred_slot;
if (spu_scalar_value_p (type))
diff --git a/gdb/tic6x-tdep.c b/gdb/tic6x-tdep.c
index 0753386..85fd433 100644
--- a/gdb/tic6x-tdep.c
+++ b/gdb/tic6x-tdep.c
@@ -896,7 +896,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
int argreg = 0;
int argnum;
int stack_offset = 4;
- int references_offset = 4;
+ LONGEST references_offset = 4;
CORE_ADDR func_addr = find_function_addr (function, NULL);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
struct type *func_type = value_type (function);
@@ -930,7 +930,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
/* Now make space on the stack for the args. */
for (argnum = 0; argnum < nargs; argnum++)
{
- int len = align_up (TYPE_LENGTH (value_type (args[argnum])), 4);
+ LONGEST len = align_up (TYPE_LENGTH (value_type (args[argnum])), 4);
if (argnum >= 10 - argreg)
references_offset += len;
stack_offset += len;
@@ -949,7 +949,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
const gdb_byte *val;
struct value *arg = args[argnum];
struct type *arg_type = check_typedef (value_type (arg));
- int len = TYPE_LENGTH (arg_type);
+ ssize_t len = TYPE_LENGTH (arg_type);
enum type_code typecode = TYPE_CODE (arg_type);
val = value_contents (arg);
@@ -1109,7 +1109,8 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
}
else
internal_error (__FILE__, __LINE__,
- _("unexpected length %d of arg %d"), len, argnum);
+ _("unexpected length %s of arg %d"),
+ plongest (len), argnum);
addr = sp + stack_offset;
write_memory (addr, val, len);
diff --git a/gdb/tilegx-tdep.c b/gdb/tilegx-tdep.c
index 627a470..e079d35 100644
--- a/gdb/tilegx-tdep.c
+++ b/gdb/tilegx-tdep.c
@@ -291,7 +291,7 @@ tilegx_push_dummy_call (struct gdbarch *gdbarch,
CORE_ADDR stack_dest = sp;
int argreg = TILEGX_R0_REGNUM;
int i, j;
- int typelen, slacklen, alignlen;
+ LONGEST typelen, slacklen, alignlen;
static const gdb_byte two_zero_words[8] = { 0 };
/* If struct_return is 1, then the struct return address will
diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c
index e374df8..3a9ba7d 100644
--- a/gdb/v850-tdep.c
+++ b/gdb/v850-tdep.c
@@ -809,7 +809,7 @@ v850_push_dummy_call (struct gdbarch *gdbarch,
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int argreg;
int argnum;
- int len = 0;
+ LONGEST len = 0;
int stack_offset;
/* The offset onto the stack at which we will start copying parameters
@@ -834,7 +834,7 @@ v850_push_dummy_call (struct gdbarch *gdbarch,
in four registers available. Loop thru args from first to last. */
for (argnum = 0; argnum < nargs; argnum++)
{
- int len;
+ LONGEST len;
gdb_byte *val;
gdb_byte valbuf[v850_reg_size];
diff --git a/gdb/vax-tdep.c b/gdb/vax-tdep.c
index 04a3d9a..aaa8df1 100644
--- a/gdb/vax-tdep.c
+++ b/gdb/vax-tdep.c
@@ -116,7 +116,7 @@ vax_store_arguments (struct regcache *regcache, int nargs,
struct gdbarch *gdbarch = get_regcache_arch (regcache);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
gdb_byte buf[4];
- int count = 0;
+ LONGEST count = 0;
int i;
/* We create an argument list on the stack, and make the argument
@@ -125,7 +125,7 @@ vax_store_arguments (struct regcache *regcache, int nargs,
/* Push arguments in reverse order. */
for (i = nargs - 1; i >= 0; i--)
{
- int len = TYPE_LENGTH (value_enclosing_type (args[i]));
+ LONGEST len = TYPE_LENGTH (value_enclosing_type (args[i]));
sp -= (len + 3) & ~3;
count += (len + 3) / 4;
@@ -208,7 +208,7 @@ vax_return_value (struct gdbarch *gdbarch, struct value *function,
struct type *type, struct regcache *regcache,
gdb_byte *readbuf, const gdb_byte *writebuf)
{
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
gdb_byte buf[8];
if (TYPE_CODE (type) == TYPE_CODE_STRUCT
diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c
index d5e315c..c4009a3 100644
--- a/gdb/xstormy16-tdep.c
+++ b/gdb/xstormy16-tdep.c
@@ -235,8 +235,9 @@ xstormy16_push_dummy_call (struct gdbarch *gdbarch,
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR stack_dest = sp;
int argreg = E_1ST_ARG_REGNUM;
- int i, j;
- int typelen, slacklen;
+ int i, slacklen;
+ LONGEST j;
+ LONGEST typelen;
const gdb_byte *val;
char buf[xstormy16_pc_size];
diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
index 119dc6f..5a4b4ce 100644
--- a/gdb/xtensa-tdep.c
+++ b/gdb/xtensa-tdep.c
@@ -1653,8 +1653,7 @@ xtensa_store_return_value (struct type *type,
if (len > (callsize > 8 ? 8 : 16))
internal_error (__FILE__, __LINE__,
- _("unimplemented for this length: %d"),
- TYPE_LENGTH (type));
+ _("unimplemented for this length: %d"), len);
areg = arreg_number (gdbarch,
gdbarch_tdep (gdbarch)->a0_base + 2 + callsize, wb);
@@ -1728,18 +1727,18 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch,
{
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int i;
- int size, onstack_size;
+ LONGEST size, onstack_size;
gdb_byte *buf = (gdb_byte *) alloca (16);
CORE_ADDR ra, ps;
struct argument_info
{
const bfd_byte *contents;
- int length;
+ ssize_t length;
int onstack; /* onstack == 0 => in reg */
int align; /* alignment */
union
{
- int offset; /* stack offset if on stack. */
+ ssize_t offset; /* stack offset if on stack. */
int regno; /* regno if in register. */
} u;
};
@@ -1763,9 +1762,10 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch,
{
struct value *arg = args[i];
struct type *arg_type = check_typedef (value_type (arg));
- fprintf_unfiltered (gdb_stdlog, "%2d: %s %3d ", i,
- host_address_to_string (arg),
- TYPE_LENGTH (arg_type));
+ const char *arg_type_len_s = pulongest (TYPE_LENGTH (arg_type));
+
+ fprintf_unfiltered (gdb_stdlog, "%2d: %s %s ", i,
+ host_address_to_string (arg), arg_type_len_s);
switch (TYPE_CODE (arg_type))
{
case TYPE_CODE_INT:
@@ -1835,8 +1835,8 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch,
info->align = TYPE_LENGTH (builtin_type (gdbarch)->builtin_long);
break;
}
- info->length = TYPE_LENGTH (arg_type);
info->contents = value_contents (arg);
+ info->length = TYPE_LENGTH (arg_type);
/* Align size and onstack_size. */
size = (size + info->align - 1) & ~(info->align - 1);
@@ -1881,7 +1881,7 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch,
if (info->onstack)
{
- int n = info->length;
+ ssize_t n = info->length;
CORE_ADDR offset = sp + info->u.offset;
/* Odd-sized structs are aligned to the lower side of a memory
@@ -1897,7 +1897,7 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch,
}
else
{
- int n = info->length;
+ ssize_t n = info->length;
const bfd_byte *cp = info->contents;
int r = info->u.regno;
reply other threads:[~2012-09-27 13:33 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120927185957.06f67649@spoyarek \
--to=siddhesh@redhat.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox