diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 107df93..c032a7e 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -2218,7 +2218,7 @@ has_negatives (struct type *type) struct value * ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr, - long offset, int bit_offset, int bit_size, + LONGEST offset, int bit_offset, int bit_size, struct type *type) { struct value *v; @@ -6340,7 +6340,7 @@ ada_value_primitive_field (struct value *arg1, int offset, int fieldno, if (TYPE_FIELD_BITSIZE (arg_type, fieldno) != 0) { - int bit_pos = TYPE_FIELD_BITPOS (arg_type, fieldno); + LONGEST bit_pos = TYPE_FIELD_BITPOS (arg_type, fieldno); int bit_size = TYPE_FIELD_BITSIZE (arg_type, fieldno); return ada_value_primitive_packed_val (arg1, value_contents (arg1), @@ -6387,7 +6387,7 @@ find_struct_field (const char *name, struct type *type, int offset, for (i = 0; i < TYPE_NFIELDS (type); i += 1) { - int bit_pos = TYPE_FIELD_BITPOS (type, i); + LONGEST bit_pos = TYPE_FIELD_BITPOS (type, i); int fld_offset = offset + bit_pos / 8; const char *t_field_name = TYPE_FIELD_NAME (type, i); @@ -6491,7 +6491,7 @@ ada_search_struct_field (char *name, struct value *arg, int offset, int j; struct type *field_type = ada_check_typedef (TYPE_FIELD_TYPE (type, i)); - int var_offset = offset + TYPE_FIELD_BITPOS (type, i) / 8; + LONGEST var_offset = offset + TYPE_FIELD_BITPOS (type, i) / 8; for (j = 0; j < TYPE_NFIELDS (field_type); j += 1) { @@ -7305,7 +7305,7 @@ ada_template_to_fixed_record_type_1 (struct type *type, struct type *rtype; int nfields, bit_len; int variant_field; - long off; + LONGEST off; int fld_bit_len; int f; @@ -7377,7 +7377,7 @@ ada_template_to_fixed_record_type_1 (struct type *type, that follow this one. */ if (ada_is_aligner_type (field_type)) { - long field_offset = TYPE_FIELD_BITPOS (field_type, f); + LONGEST field_offset = TYPE_FIELD_BITPOS (field_type, f); field_valaddr = cond_offset_host (field_valaddr, field_offset); field_address = cond_offset_target (field_address, field_offset); diff --git a/gdb/ada-lang.h b/gdb/ada-lang.h index 2a6cd57..1e62a50 100644 --- a/gdb/ada-lang.h +++ b/gdb/ada-lang.h @@ -164,7 +164,7 @@ extern void ada_print_type (struct type *, const char *, struct ui_file *, int, extern void ada_print_typedef (struct type *type, struct symbol *new_symbol, struct ui_file *stream); -extern int ada_val_print (struct type *, const gdb_byte *, int, CORE_ADDR, +extern int ada_val_print (struct type *, const gdb_byte *, LONGEST, CORE_ADDR, struct ui_file *, int, const struct value *, const struct value_print_options *); diff --git a/gdb/ada-typeprint.c b/gdb/ada-typeprint.c index 5599278..42fe3e6 100644 --- a/gdb/ada-typeprint.c +++ b/gdb/ada-typeprint.c @@ -274,7 +274,7 @@ static void print_enum_type (struct type *type, struct ui_file *stream) { int len = TYPE_NFIELDS (type); - int i, lastval; + LONGEST i, lastval; fprintf_filtered (stream, "("); wrap_here (" "); @@ -289,7 +289,7 @@ print_enum_type (struct type *type, struct ui_file *stream) fputs_filtered (ada_enum_name (TYPE_FIELD_NAME (type, i)), stream); if (lastval != TYPE_FIELD_BITPOS (type, i)) { - fprintf_filtered (stream, " => %d", TYPE_FIELD_BITPOS (type, i)); + fprintf_filtered (stream, " => %ld", TYPE_FIELD_BITPOS (type, i)); lastval = TYPE_FIELD_BITPOS (type, i); } lastval += 1; diff --git a/gdb/ada-valprint.c b/gdb/ada-valprint.c index f43f3e3..6ad0931 100644 --- a/gdb/ada-valprint.c +++ b/gdb/ada-valprint.c @@ -42,7 +42,7 @@ static void print_record (struct type *, const gdb_byte *, int, const struct value_print_options *); static int print_field_values (struct type *, const gdb_byte *, - int, + LONGEST, struct ui_file *, int, const struct value *, const struct value_print_options *, @@ -50,7 +50,7 @@ static int print_field_values (struct type *, const gdb_byte *, static void adjust_type_signedness (struct type *); -static int ada_val_print_1 (struct type *, const gdb_byte *, int, CORE_ADDR, +static int ada_val_print_1 (struct type *, const gdb_byte *, LONGEST, CORE_ADDR, struct ui_file *, int, const struct value *, const struct value_print_options *); @@ -571,7 +571,7 @@ ada_printstr (struct ui_file *stream, struct type *type, int ada_val_print (struct type *type, const gdb_byte *valaddr, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options) @@ -667,7 +667,7 @@ ada_val_print_array (struct type *type, const gdb_byte *valaddr, static int ada_val_print_1 (struct type *type, const gdb_byte *valaddr, - int offset, CORE_ADDR address, + LONGEST offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *original_value, const struct value_print_options *options) @@ -936,7 +936,7 @@ ada_val_print_1 (struct type *type, const gdb_byte *valaddr, static int print_variant_part (struct type *type, int field_num, - const gdb_byte *valaddr, int offset, + const gdb_byte *valaddr, LONGEST offset, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, @@ -1048,7 +1048,7 @@ print_record (struct type *type, const gdb_byte *valaddr, static int print_field_values (struct type *type, const gdb_byte *valaddr, - int offset, struct ui_file *stream, int recurse, + LONGEST offset, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, int comma_needed, @@ -1133,7 +1133,7 @@ print_field_values (struct type *type, const gdb_byte *valaddr, } else { - int bit_pos = TYPE_FIELD_BITPOS (type, i); + LONGEST bit_pos = TYPE_FIELD_BITPOS (type, i); int bit_size = TYPE_FIELD_BITSIZE (type, i); struct value_print_options opts; diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c index 739677f..c4fcc1c 100644 --- a/gdb/ax-gdb.c +++ b/gdb/ax-gdb.c @@ -85,7 +85,7 @@ static void gen_left_shift (struct agent_expr *, int); static void gen_frame_args_address (struct gdbarch *, struct agent_expr *); static void gen_frame_locals_address (struct gdbarch *, struct agent_expr *); -static void gen_offset (struct agent_expr *ax, int offset); +static void gen_offset (struct agent_expr *ax, LONGEST offset); static void gen_sym_offset (struct agent_expr *, struct symbol *); static void gen_var_ref (struct gdbarch *, struct agent_expr *ax, struct axs_value *value, struct symbol *var); @@ -135,15 +135,15 @@ static void gen_deref (struct agent_expr *, struct axs_value *); static void gen_address_of (struct agent_expr *, struct axs_value *); static void gen_bitfield_ref (struct expression *exp, struct agent_expr *ax, struct axs_value *value, - struct type *type, int start, int end); + struct type *type, LONGEST start, LONGEST end); static void gen_primitive_field (struct expression *exp, struct agent_expr *ax, struct axs_value *value, - int offset, int fieldno, struct type *type); + LONGEST offset, int fieldno, struct type *type); static int gen_struct_ref_recursive (struct expression *exp, struct agent_expr *ax, struct axs_value *value, - char *field, int offset, + char *field, LONGEST offset, struct type *type); static void gen_struct_ref (struct expression *exp, struct agent_expr *ax, struct axs_value *value, @@ -621,7 +621,7 @@ gen_frame_locals_address (struct gdbarch *gdbarch, struct agent_expr *ax) programming in ML, it would be clearer why these are the same thing. */ static void -gen_offset (struct agent_expr *ax, int offset) +gen_offset (struct agent_expr *ax, LONGEST offset) { /* It would suffice to simply push the offset and add it, but this makes it easier to read positive and negative offsets in the @@ -1283,7 +1283,7 @@ gen_address_of (struct agent_expr *ax, struct axs_value *value) static void gen_bitfield_ref (struct expression *exp, struct agent_expr *ax, struct axs_value *value, struct type *type, - int start, int end) + LONGEST start, LONGEST end) { /* Note that ops[i] fetches 8 << i bits. */ static enum agent_op ops[] @@ -1318,13 +1318,13 @@ gen_bitfield_ref (struct expression *exp, struct agent_expr *ax, /* The first and one-after-last bits in the field, but rounded down and up to byte boundaries. */ - int bound_start = (start / TARGET_CHAR_BIT) * TARGET_CHAR_BIT; - int bound_end = (((end + TARGET_CHAR_BIT - 1) + LONGEST bound_start = (start / TARGET_CHAR_BIT) * TARGET_CHAR_BIT; + LONGEST bound_end = (((end + TARGET_CHAR_BIT - 1) / TARGET_CHAR_BIT) * TARGET_CHAR_BIT); /* current bit offset within the structure */ - int offset; + LONGEST offset; /* The index in ops of the opcode we're considering. */ int op; @@ -1443,7 +1443,7 @@ gen_bitfield_ref (struct expression *exp, struct agent_expr *ax, static void gen_primitive_field (struct expression *exp, struct agent_expr *ax, struct axs_value *value, - int offset, int fieldno, struct type *type) + LONGEST offset, int fieldno, struct type *type) { /* Is this a bitfield? */ if (TYPE_FIELD_PACKED (type, fieldno)) @@ -1468,7 +1468,7 @@ gen_primitive_field (struct expression *exp, static int gen_struct_ref_recursive (struct expression *exp, struct agent_expr *ax, struct axs_value *value, - char *field, int offset, struct type *type) + char *field, LONGEST offset, struct type *type) { int i, rslt; int nbases = TYPE_N_BASECLASSES (type); diff --git a/gdb/c-lang.h b/gdb/c-lang.h index e8c632f..edc62ce 100644 --- a/gdb/c-lang.h +++ b/gdb/c-lang.h @@ -72,7 +72,7 @@ extern void c_print_typedef (struct type *, struct ui_file *); extern int c_val_print (struct type *, const gdb_byte *, - int, CORE_ADDR, + LONGEST, CORE_ADDR, struct ui_file *, int, const struct value *, const struct value_print_options *); diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c index 21887c6..e47b4e5 100644 --- a/gdb/c-typeprint.c +++ b/gdb/c-typeprint.c @@ -717,7 +717,7 @@ c_type_print_base (struct type *type, struct ui_file *stream, { int i; int len, real_len; - int lastval; + LONGEST lastval; enum { s_none, s_public, s_private, s_protected @@ -1206,7 +1206,7 @@ c_type_print_base (struct type *type, struct ui_file *stream, fputs_filtered (TYPE_FIELD_NAME (type, i), stream); if (lastval != TYPE_FIELD_BITPOS (type, i)) { - fprintf_filtered (stream, " = %d", + fprintf_filtered (stream, " = %ld", TYPE_FIELD_BITPOS (type, i)); lastval = TYPE_FIELD_BITPOS (type, i); } diff --git a/gdb/c-valprint.c b/gdb/c-valprint.c index 82551e9..f034a88 100644 --- a/gdb/c-valprint.c +++ b/gdb/c-valprint.c @@ -147,7 +147,7 @@ c_textual_element_type (struct type *type, char format) int c_val_print (struct type *type, const gdb_byte *valaddr, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *original_value, const struct value_print_options *options) @@ -416,7 +416,7 @@ c_val_print (struct type *type, const gdb_byte *valaddr, /* Print vtable entry - we only get here if NOT using -fvtable_thunks. (Otherwise, look under TYPE_CODE_PTR.) */ - int offset = (embedded_offset + LONGEST offset = (embedded_offset + TYPE_FIELD_BITPOS (type, VTBL_FNADDR_OFFSET) / 8); struct type *field_type = TYPE_FIELD_TYPE (type, diff --git a/gdb/d-lang.h b/gdb/d-lang.h index 67ca14c..e2cda03 100644 --- a/gdb/d-lang.h +++ b/gdb/d-lang.h @@ -25,7 +25,7 @@ extern char *d_demangle (const char *mangled, int options); extern int d_val_print (struct type *type, const gdb_byte *valaddr, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options); diff --git a/gdb/d-valprint.c b/gdb/d-valprint.c index 527c087..6c7921e 100644 --- a/gdb/d-valprint.c +++ b/gdb/d-valprint.c @@ -70,7 +70,7 @@ dynamic_array_type (struct type *type, const gdb_byte *valaddr, /* Implements the la_val_print routine for language D. */ int -d_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset, +d_val_print (struct type *type, const gdb_byte *valaddr, LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options) diff --git a/gdb/eval.c b/gdb/eval.c index 9913a72..0922596 100644 --- a/gdb/eval.c +++ b/gdb/eval.c @@ -319,7 +319,8 @@ evaluate_struct_tuple (struct value *struct_val, int pc = *pos; struct value *val = NULL; int nlabels = 0; - int bitpos, bitsize; + int bitsize; + LONGEST bitpos; bfd_byte *addr; /* Skip past the labels, and count them. */ diff --git a/gdb/f-lang.h b/gdb/f-lang.h index 4e5563d..e6407b7 100644 --- a/gdb/f-lang.h +++ b/gdb/f-lang.h @@ -28,7 +28,7 @@ extern void f_error (char *); /* Defined in f-exp.y */ extern void f_print_type (struct type *, const char *, struct ui_file *, int, int); -extern int f_val_print (struct type *, const gdb_byte *, int, CORE_ADDR, +extern int f_val_print (struct type *, const gdb_byte *, LONGEST, CORE_ADDR, struct ui_file *, int, const struct value *, const struct value_print_options *); diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c index 17f747f..3b55640 100644 --- a/gdb/f-valprint.c +++ b/gdb/f-valprint.c @@ -247,7 +247,7 @@ Type node corrupt! F77 arrays cannot have %d subscripts (%d Max)"), also identical to val_print. */ int -f_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset, +f_val_print (struct type *type, const gdb_byte *valaddr, LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *original_value, const struct value_print_options *options) @@ -498,7 +498,7 @@ f_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset, fprintf_filtered (stream, "( "); for (index = 0; index < TYPE_NFIELDS (type); index++) { - int offset = TYPE_FIELD_BITPOS (type, index) / 8; + LONGEST offset = TYPE_FIELD_BITPOS (type, index) / 8; val_print (TYPE_FIELD_TYPE (type, index), valaddr, embedded_offset + offset, diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index b6e8b4c..7f4d1ef 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c @@ -3198,7 +3198,7 @@ recursive_dump_type (struct type *type, int spaces) for (idx = 0; idx < TYPE_NFIELDS (type); idx++) { printfi_filtered (spaces + 2, - "[%d] bitpos %d bitsize %d type ", + "[%d] bitpos %ld bitsize %d type ", idx, TYPE_FIELD_BITPOS (type, idx), TYPE_FIELD_BITSIZE (type, idx)); gdb_print_host_address (TYPE_FIELD_TYPE (type, idx), gdb_stdout); diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index cddd2d0..3f4e849 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -514,7 +514,7 @@ struct main_type the LSB. For a range bound or enum value, this is the value itself. */ - int bitpos; + LONGEST bitpos; /* For a static field, if TYPE_FIELD_STATIC_HAS_ADDR then physaddr is the location (in the target) of the static field. diff --git a/gdb/jv-lang.c b/gdb/jv-lang.c index 18a7c19..9323c0b 100644 --- a/gdb/jv-lang.c +++ b/gdb/jv-lang.c @@ -438,7 +438,7 @@ java_link_class_type (struct gdbarch *gdbarch, for (i = TYPE_N_BASECLASSES (type); i < nfields; i++) { int accflags; - int boffset; + LONGEST boffset; if (fields == NULL) { diff --git a/gdb/jv-lang.h b/gdb/jv-lang.h index d061096..4380a42 100644 --- a/gdb/jv-lang.h +++ b/gdb/jv-lang.h @@ -42,7 +42,7 @@ struct builtin_java_type extern const struct builtin_java_type *builtin_java_type (struct gdbarch *); -extern int java_val_print (struct type *, const gdb_byte *, int, CORE_ADDR, +extern int java_val_print (struct type *, const gdb_byte *, LONGEST, CORE_ADDR, struct ui_file *, int, const struct value *, const struct value_print_options *); diff --git a/gdb/jv-valprint.c b/gdb/jv-valprint.c index d430ba0..914d871 100644 --- a/gdb/jv-valprint.c +++ b/gdb/jv-valprint.c @@ -261,7 +261,7 @@ java_value_print (struct value *val, struct ui_file *stream, static void java_print_value_fields (struct type *type, const gdb_byte *valaddr, - int offset, + LONGEST offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, @@ -480,7 +480,7 @@ java_print_value_fields (struct type *type, const gdb_byte *valaddr, int java_val_print (struct type *type, const gdb_byte *valaddr, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options) diff --git a/gdb/language.c b/gdb/language.c index 49ba21a..1850880 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -849,7 +849,7 @@ unk_lang_print_type (struct type *type, const char *varstring, static int unk_lang_val_print (struct type *type, const gdb_byte *valaddr, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options) diff --git a/gdb/language.h b/gdb/language.h index a47a44d..c20c581 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -242,7 +242,7 @@ struct language_defn int (*la_val_print) (struct type *type, const gdb_byte *contents, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options); diff --git a/gdb/m2-lang.h b/gdb/m2-lang.h index 2803e63..865e8fb 100644 --- a/gdb/m2-lang.h +++ b/gdb/m2-lang.h @@ -32,7 +32,7 @@ extern void m2_print_typedef (struct type *, struct symbol *, extern int m2_is_long_set (struct type *type); extern int m2_is_unbounded_array (struct type *type); -extern int m2_val_print (struct type *, const gdb_byte *, int, CORE_ADDR, +extern int m2_val_print (struct type *, const gdb_byte *, LONGEST, CORE_ADDR, struct ui_file *, int, const struct value *, const struct value_print_options *); diff --git a/gdb/m2-typeprint.c b/gdb/m2-typeprint.c index 9735d7f..6c5dc43 100644 --- a/gdb/m2-typeprint.c +++ b/gdb/m2-typeprint.c @@ -587,7 +587,8 @@ m2_record_fields (struct type *type, struct ui_file *stream, int show, void m2_enum (struct type *type, struct ui_file *stream, int show, int level) { - int lastval, i, len; + LONGEST lastval; + int i, len; if (show < 0) { @@ -609,7 +610,7 @@ m2_enum (struct type *type, struct ui_file *stream, int show, int level) fputs_filtered (TYPE_FIELD_NAME (type, i), stream); if (lastval != TYPE_FIELD_BITPOS (type, i)) { - fprintf_filtered (stream, " = %d", TYPE_FIELD_BITPOS (type, i)); + fprintf_filtered (stream, " = %ld", TYPE_FIELD_BITPOS (type, i)); lastval = TYPE_FIELD_BITPOS (type, i); } lastval++; diff --git a/gdb/m2-valprint.c b/gdb/m2-valprint.c index 4378b00..4a7977f 100644 --- a/gdb/m2-valprint.c +++ b/gdb/m2-valprint.c @@ -36,7 +36,7 @@ static int print_unpacked_pointer (struct type *type, struct ui_file *stream); static void m2_print_array_contents (struct type *type, const gdb_byte *valaddr, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, @@ -89,7 +89,7 @@ get_long_set_bounds (struct type *type, LONGEST *low, LONGEST *high) static void m2_print_long_set (struct type *type, const gdb_byte *valaddr, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream) { int empty_set = 1; @@ -180,7 +180,7 @@ m2_print_long_set (struct type *type, const gdb_byte *valaddr, static void m2_print_unbounded_array (struct type *type, const gdb_byte *valaddr, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value_print_options *options) { @@ -277,7 +277,7 @@ print_variable_at_address (struct type *type, static void m2_print_array_contents (struct type *type, const gdb_byte *valaddr, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, @@ -315,7 +315,7 @@ m2_print_array_contents (struct type *type, const gdb_byte *valaddr, also identical to val_print. */ int -m2_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset, +m2_val_print (struct type *type, const gdb_byte *valaddr, LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *original_value, const struct value_print_options *options) diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index a670cd3..68f8e70 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -289,7 +289,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; @@ -312,7 +312,7 @@ 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, ", + "xfer $%d, reg offset %d, buf offset %ld, length %d, ", reg_num, reg_offset, buf_offset, length); if (mips_debug && out != NULL) { @@ -3221,7 +3221,7 @@ mips_eabi_return_value (struct gdbarch *gdbarch, struct type *func_type, static int mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type, - int offset) + LONGEST offset) { int i; @@ -3236,7 +3236,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. */ @@ -3630,10 +3630,10 @@ mips_n32n64_return_value (struct gdbarch *gdbarch, struct type *func_type, : MIPS_V0_REGNUM); field < TYPE_NFIELDS (type); field++, regnum += 2) { - int offset = (FIELD_BITPOS (TYPE_FIELDS (type)[field]) + LONGEST offset = (FIELD_BITPOS (TYPE_FIELDS (type)[field]) / TARGET_CHAR_BIT); if (mips_debug) - fprintf_unfiltered (gdb_stderr, "Return float struct+%d\n", + fprintf_unfiltered (gdb_stderr, "Return float struct+%ld\n", offset); if (TYPE_LENGTH (TYPE_FIELD_TYPE (type, field)) == 16) { diff --git a/gdb/p-lang.c b/gdb/p-lang.c index 826d24f..80c1c68 100644 --- a/gdb/p-lang.c +++ b/gdb/p-lang.c @@ -96,8 +96,8 @@ pascal_main_name (void) are not multiple of TARGET_CHAR_BIT then the results are wrong but this does not happen for Free Pascal nor for GPC. */ int -is_pascal_string_type (struct type *type,int *length_pos, - int *length_size, int *string_pos, +is_pascal_string_type (struct type *type,LONGEST *length_pos, + int *length_size, LONGEST *string_pos, struct type **char_type, const char **arrayname) { diff --git a/gdb/p-lang.h b/gdb/p-lang.h index 180c544..350af71 100644 --- a/gdb/p-lang.h +++ b/gdb/p-lang.h @@ -35,7 +35,7 @@ extern void pascal_print_type (struct type *, const char *, struct ui_file *, extern void pascal_print_typedef (struct type *, struct symbol *, struct ui_file *); -extern int pascal_val_print (struct type *, const gdb_byte *, int, +extern int pascal_val_print (struct type *, const gdb_byte *, LONGEST, CORE_ADDR, struct ui_file *, int, const struct value *, const struct value_print_options *); @@ -49,7 +49,7 @@ extern void pascal_type_print_method_args (const char *, const char *, /* These are in p-lang.c: */ extern int - is_pascal_string_type (struct type *, int *, int *, int *, + is_pascal_string_type (struct type *, LONGEST *, int *, LONGEST *, struct type **, const char **); extern void pascal_printchar (int, struct type *, struct ui_file *); diff --git a/gdb/p-typeprint.c b/gdb/p-typeprint.c index ab82d90..096776d 100644 --- a/gdb/p-typeprint.c +++ b/gdb/p-typeprint.c @@ -443,7 +443,7 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show, { int i; int len; - int lastval; + LONGEST lastval; enum { s_none, s_public, s_private, s_protected @@ -754,7 +754,7 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show, if (lastval != TYPE_FIELD_BITPOS (type, i)) { fprintf_filtered (stream, - " := %d", TYPE_FIELD_BITPOS (type, i)); + " := %ld", TYPE_FIELD_BITPOS (type, i)); lastval = TYPE_FIELD_BITPOS (type, i); } lastval++; diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c index 39eff10..f80e58f 100644 --- a/gdb/p-valprint.c +++ b/gdb/p-valprint.c @@ -47,7 +47,7 @@ int pascal_val_print (struct type *type, const gdb_byte *valaddr, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *original_value, const struct value_print_options *options) @@ -59,7 +59,8 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr, LONGEST low_bound, high_bound; struct type *elttype; unsigned eltlen; - int length_pos, length_size, string_pos; + LONGEST length_pos, string_pos; + int length_size; struct type *char_type; LONGEST val; CORE_ADDR addr; diff --git a/gdb/regcache.c b/gdb/regcache.c index c716280..12ed8fa 100644 --- a/gdb/regcache.c +++ b/gdb/regcache.c @@ -902,7 +902,7 @@ typedef void (regcache_write_ftype) (struct regcache *regcache, int regnum, static enum register_status regcache_xfer_part (struct regcache *regcache, int regnum, - int offset, int len, void *in, const void *out, + LONGEST offset, int len, void *in, const void *out, enum register_status (*read) (struct regcache *regcache, int regnum, gdb_byte *buf), @@ -968,7 +968,7 @@ regcache_raw_write_part (struct regcache *regcache, int regnum, enum register_status regcache_cooked_read_part (struct regcache *regcache, int regnum, - int offset, int len, gdb_byte *buf) + LONGEST offset, int len, gdb_byte *buf) { struct regcache_descr *descr = regcache->descr; @@ -979,7 +979,7 @@ regcache_cooked_read_part (struct regcache *regcache, int regnum, void regcache_cooked_write_part (struct regcache *regcache, int regnum, - int offset, int len, const gdb_byte *buf) + LONGEST offset, int len, const gdb_byte *buf) { struct regcache_descr *descr = regcache->descr; diff --git a/gdb/regcache.h b/gdb/regcache.h index 93b4499..81ccda6 100644 --- a/gdb/regcache.h +++ b/gdb/regcache.h @@ -129,10 +129,10 @@ extern void regcache_cooked_write_unsigned (struct regcache *regcache, write style operations. */ enum register_status regcache_cooked_read_part (struct regcache *regcache, - int regnum, int offset, + int regnum, LONGEST offset, int len, gdb_byte *buf); void regcache_cooked_write_part (struct regcache *regcache, int regnum, - int offset, int len, const gdb_byte *buf); + LONGEST offset, int len, const gdb_byte *buf); /* Special routines to read/write the PC. */ diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c index 327eefe..1fe0cd7 100644 --- a/gdb/sparc64-tdep.c +++ b/gdb/sparc64-tdep.c @@ -639,7 +639,7 @@ 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 +681,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 +713,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 +750,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); } diff --git a/gdb/valops.c b/gdb/valops.c index fca601f..d4c567a 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -53,11 +53,11 @@ static int typecmp (int staticp, int varargs, int nargs, struct field t1[], struct value *t2[]); static struct value *search_struct_field (const char *, struct value *, - int, struct type *, int); + LONGEST, struct type *, int); static struct value *search_struct_method (const char *, struct value **, struct value **, - int, int *, struct type *); + LONGEST, int *, struct type *); static int find_oload_champ_namespace (struct value **, int, const char *, const char *, @@ -85,7 +85,7 @@ oload_classification classify_oload_match (struct badness_vector *, int, int); static struct value *value_struct_elt_for_reference (struct type *, - int, struct type *, + LONGEST, struct type *, char *, struct type *, int, enum noside); @@ -102,7 +102,7 @@ static CORE_ADDR allocate_space_in_inferior (int); static struct value *cast_into_complex (struct type *, struct value *); static struct fn_field *find_method_list (struct value **, const char *, - int, struct type *, int *, + LONGEST, struct type *, int *, struct type **, int *); void _initialize_valops (void); @@ -1993,7 +1993,7 @@ typecmp (int staticp, int varargs, int nargs, fields, look for a baseclass named NAME. */ static struct value * -search_struct_field (const char *name, struct value *arg1, int offset, +search_struct_field (const char *name, struct value *arg1, LONGEST offset, struct type *type, int looking_for_baseclass) { int i; @@ -2051,7 +2051,7 @@ search_struct_field (const char *name, struct value *arg1, int offset, . */ struct value *v; - int new_offset = offset; + LONGEST new_offset = offset; /* This is pretty gross. In G++, the offset in an anonymous union is relative to the beginning of the @@ -2152,7 +2152,7 @@ search_struct_field (const char *name, struct value *arg1, int offset, static struct value * search_struct_method (const char *name, struct value **arg1p, - struct value **args, int offset, + struct value **args, LONGEST offset, int *static_memfuncp, struct type *type) { int i; @@ -2216,7 +2216,7 @@ search_struct_method (const char *name, struct value **arg1p, for (i = TYPE_N_BASECLASSES (type) - 1; i >= 0; i--) { - int base_offset; + LONGEST base_offset; int skip = 0; int this_offset; @@ -2394,7 +2394,7 @@ value_struct_elt (struct value **argp, struct value **args, static struct fn_field * find_method_list (struct value **argp, const char *method, - int offset, struct type *type, int *num_fns, + LONGEST offset, struct type *type, int *num_fns, struct type **basetype, int *boffset) { int i; @@ -2428,7 +2428,7 @@ find_method_list (struct value **argp, const char *method, /* Not found in object, check in base subobjects. */ for (i = TYPE_N_BASECLASSES (type) - 1; i >= 0; i--) { - int base_offset; + LONGEST base_offset; if (BASETYPE_VIA_VIRTUAL (type, i)) { @@ -3263,7 +3263,7 @@ compare_parameters (struct type *t1, struct type *t2, int skip_artificial) the form "DOMAIN::NAME". */ static struct value * -value_struct_elt_for_reference (struct type *domain, int offset, +value_struct_elt_for_reference (struct type *domain, LONGEST offset, struct type *curtype, char *name, struct type *intype, int want_address, @@ -3300,7 +3300,7 @@ value_struct_elt_for_reference (struct type *domain, int offset, if (want_address) return value_from_longest (lookup_memberptr_type (TYPE_FIELD_TYPE (t, i), domain), - offset + (LONGEST) (TYPE_FIELD_BITPOS (t, i) >> 3)); + offset + (TYPE_FIELD_BITPOS (t, i) >> 3)); else if (noside == EVAL_AVOID_SIDE_EFFECTS) return allocate_value (TYPE_FIELD_TYPE (t, i)); else @@ -3443,7 +3443,7 @@ value_struct_elt_for_reference (struct type *domain, int offset, for (i = TYPE_N_BASECLASSES (t) - 1; i >= 0; i--) { struct value *v; - int base_offset; + LONGEST base_offset; if (BASETYPE_VIA_VIRTUAL (t, i)) base_offset = 0; diff --git a/gdb/valprint.c b/gdb/valprint.c index 325cf40..9544720 100644 --- a/gdb/valprint.c +++ b/gdb/valprint.c @@ -336,7 +336,7 @@ val_print_invalid_address (struct ui_file *stream) characters printed. */ int -val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset, +val_print (struct type *type, const gdb_byte *valaddr, LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, @@ -556,7 +556,7 @@ val_print_type_code_flags (struct type *type, const gdb_byte *valaddr, void val_print_scalar_formatted (struct type *type, - const gdb_byte *valaddr, int embedded_offset, + const gdb_byte *valaddr, LONGEST embedded_offset, const struct value *val, const struct value_print_options *options, int size, diff --git a/gdb/valprint.h b/gdb/valprint.h index a34d09b..319e8e7 100644 --- a/gdb/valprint.h +++ b/gdb/valprint.h @@ -127,7 +127,7 @@ extern void val_print_type_code_flags (struct type *type, struct ui_file *stream); extern void val_print_scalar_formatted (struct type *, - const gdb_byte *, int, + const gdb_byte *, LONGEST, const struct value *, const struct value_print_options *, int, diff --git a/gdb/value.c b/gdb/value.c index 583be33..49a6f43 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -308,7 +308,7 @@ struct value `type', and `embedded_offset' is zero, so everything works normally. */ struct type *enclosing_type; - int embedded_offset; + LONGEST embedded_offset; int pointed_to_offset; /* Values are stored in a chain, so that they can be deleted easily @@ -1019,7 +1019,7 @@ value_entirely_optimized_out (const struct value *value) } int -value_bits_valid (const struct value *value, int offset, int length) +value_bits_valid (const struct value *value, LONGEST offset, int length) { if (!value->optimized_out) return 1; @@ -1032,7 +1032,7 @@ value_bits_valid (const struct value *value, int offset, int length) int value_bits_synthetic_pointer (const struct value *value, - int offset, int length) + LONGEST offset, int length) { if (value->lval != lval_computed || !value->location.computed.funcs->check_synthetic_pointer) @@ -2496,7 +2496,7 @@ set_value_enclosing_type (struct value *val, struct type *new_encl_type) FIELDNO says which field. */ struct value * -value_primitive_field (struct value *arg1, int offset, +value_primitive_field (struct value *arg1, LONGEST offset, int fieldno, struct type *arg_type) { struct value *v; @@ -2526,7 +2526,7 @@ value_primitive_field (struct value *arg1, int offset, bit. Assume that the address, offset, and embedded offset are sufficiently aligned. */ - int bitpos = TYPE_FIELD_BITPOS (arg_type, fieldno); + LONGEST bitpos = TYPE_FIELD_BITPOS (arg_type, fieldno); int container_bitsize = TYPE_LENGTH (type) * 8; v = allocate_value_lazy (type); @@ -2674,7 +2674,7 @@ value_fn_field (struct value **arg1p, struct fn_field *f, static int unpack_value_bits_as_long_1 (struct type *field_type, const gdb_byte *valaddr, - int embedded_offset, int bitpos, int bitsize, + LONGEST embedded_offset, int bitpos, int bitsize, const struct value *original_value, LONGEST *result) { @@ -2774,7 +2774,7 @@ unpack_value_field_as_long_1 (struct type *type, const gdb_byte *valaddr, int embedded_offset, int fieldno, const struct value *val, LONGEST *result) { - int bitpos = TYPE_FIELD_BITPOS (type, fieldno); + LONGEST bitpos = TYPE_FIELD_BITPOS (type, fieldno); int bitsize = TYPE_FIELD_BITSIZE (type, fieldno); struct type *field_type = TYPE_FIELD_TYPE (type, fieldno); @@ -2849,12 +2849,12 @@ value_field_bitfield (struct type *type, int fieldno, void modify_field (struct type *type, gdb_byte *addr, - LONGEST fieldval, int bitpos, int bitsize) + LONGEST fieldval, LONGEST bitpos, int bitsize) { enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type)); ULONGEST oword; ULONGEST mask = (ULONGEST) -1 >> (8 * sizeof (ULONGEST) - bitsize); - int bytesize; + LONGEST bytesize; /* Normalize BITPOS. */ addr += bitpos / 8; diff --git a/gdb/value.h b/gdb/value.h index 2a2274d..3ab523b 100644 --- a/gdb/value.h +++ b/gdb/value.h @@ -367,13 +367,13 @@ extern struct value *coerce_array (struct value *value); bits in the given range are valid, zero if any bit is invalid. */ extern int value_bits_valid (const struct value *value, - int offset, int length); + LONGEST offset, int length); /* Given a value, determine whether the bits starting at OFFSET and extending for LENGTH bits are a synthetic pointer. */ extern int value_bits_synthetic_pointer (const struct value *value, - int offset, int length); + LONGEST offset, int length); /* Given a value, determine whether the contents bytes starting at OFFSET and extending for LENGTH bytes are available. This returns @@ -610,7 +610,7 @@ extern int find_overload_match (struct value **args, int nargs, extern struct value *value_field (struct value *arg1, int fieldno); -extern struct value *value_primitive_field (struct value *arg1, int offset, +extern struct value *value_primitive_field (struct value *arg1, LONGEST offset, int fieldno, struct type *arg_type); @@ -775,7 +775,7 @@ extern void release_value_or_incref (struct value *val); extern int record_latest_value (struct value *val); extern void modify_field (struct type *type, gdb_byte *addr, - LONGEST fieldval, int bitpos, int bitsize); + LONGEST fieldval, LONGEST bitpos, int bitsize); extern void type_print (struct type *type, const char *varstring, struct ui_file *stream, int show); @@ -805,7 +805,7 @@ extern void value_print_array_elements (struct value *val, extern struct value *value_release_to_mark (struct value *mark); extern int val_print (struct type *type, const gdb_byte *valaddr, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options,