gdb/gdb-rhbz795424-bitpos-20of25.patch

3398 lines
124 KiB
Diff
Raw Normal View History

From: Fedora GDB patches <invalid@email.com>
Date: Fri, 27 Oct 2017 21:07:50 +0200
Subject: [PATCH 1/4] Expand bitpos and type.length to LONGEST and ULONGEST
FileName: gdb-rhbz795424-bitpos-20of25.patch
http://sourceware.org/ml/gdb-patches/2012-09/msg00631.html
--MP_/yp5f+W_ED2JtUlSyBi8xujr
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Hi,
This is patch 1/4, which implements the bulk of the changes in type
length and bitpos/type offset. I have verified that there are no
regressions resulting from this patch by running the testsuite on
Fedora 16 x86_64. Patch and changelog attached.
Regards,
Siddhesh
--MP_/yp5f+W_ED2JtUlSyBi8xujr
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename=ChangeLog-main
gdb/ChangeLog
2012-08-05 Siddhesh Poyarekar <siddhesh@redhat.com>
* ada-lang.c (fat_pntr_bounds_bitpos): Return LONGEST.
(fat_pntr_data_bitpos): Likewise.
(desc_bound_bitpos): Likewise.
(constrained_packed_array_type): Expand ELT_BITS parameter to
LONGEST.
(move_bits): Expand parameters SRC_OFFSET and N to LONGEST.
(cond_offset_host): Expand parameter OFFSET to LONGEST.
(cond_offset_target): Likewise.
(ada_type_of_array): Expand ARRAY_BITSIZE to LONGEST.
(decode_constrained_packed_array_type): Expand BITS to LONGEST.
(decode_constrained_packed_array): Expand BIT_POS to LONGEST.
(ada_value_primitive_packed_val): Expand parameter OFFSET to
LONGEST. Expand TARG, NTARG and NEW_OFFSET to LONGEST.
(ada_value_assign): Expand FROM_SIZE to LONGEST.
(value_assign_to_component): Expand BITS to LONGEST.
(ensure_lval): Expand LEN to LONGEST.
(value_pointer): Expand LEN to ULONGEST.
(value_tag_from_contents_and_address): Expand TAG_BYTE_OFFSET to
LONGEST.
(ada_value_primitive_field): Expand parameter OFFSET to LONGEST.
Expand bit_pos to LONGEST.
(find_struct_field): Expand parameters OFFSET and BYTE_OFFSET_P to
LONGEST. Expand BIT_POS and FLD_OFFSET to LONGEST.
(ada_search_struct_field): Expand parameter OFFSET to LONGEST.
Expand VAR_OFFSET to LONGEST.
(ada_index_struct_field): Expand parameters INDEX and OFFSET to
LONGEST.
(ada_index_struct_field_1): Expand parameters INDEX_P and OFFSET
to LONGEST.
(ada_value_struct_elt): Expand BYTE_OFFSET to LONGEST.
(align_value): Return ULONGEST. Expand parameter OFF and
ALIGNMENT to ULONGEST.
(ada_template_to_fixed_record_type_1): Expand OFF, BIT_LEN and
fld_bit_len to LONGEST. Expand FIELD_OFFSET to LONGEST. Use
pulongest function to print TYPE_LENGTH.
(to_fixed_array_type): Expand LEN to LONGEST.
* ada-lang.h (ada_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST.
(ada_printstr): Expand parameter LENGTH to ULONGEST.
(ada_value_primitive_packed_val): Expand parameter OFFSET to
LONGEST.
* ada-typeprint.c (ada_print_type): Use pulongest to print
TYPE_LENGTH.
* ada-valprint.c (val_print_packed_array_elements): Expand ELTLEN
to ULONGEST.
(char_at): Expand parameter I to LONGEST.
(printstr): Expand parameter LENGTH, I, REP1, REPS to ULONGEST.
Use pulongest to format print REPS.
(ada_printstr): Expand parameter LENGTH to LONGEST.
(ada_val_print): Expand parameter EMBEDDED_OFFSET to LONGEST.
(ada_val_print_array): Expand ELTLEN, LEN to ULONGEST and TEMP_LEN
to LONGEST.
(ada_val_print_1): Expand parameter OFFSET to LONGEST.
(print_variant_part): Expand parameters OFFSET and OUTER_OFFSET to
LONGEST.
(print_field_values): Likewise. Expand BIT_POS to LONGEST.
* annotate.c (annotate_array_section_begin): Expand parameter
IDX to LONGEST. Use plongest to format-print IDX.
(annotate_elt_rep): Expand parameter REPCOUNT to ULONGEST. Use
plongest to format-print REPCOUNT.
* annotate.h: Likewise.
* arm-linux-nat.c (arm_linux_region_ok_for_hw_watchpoint):
Expand parameter parameter LEN to LONGEST.
* ax-gdb.c (gen_left_shift): Expand parameter DISTANCE to LONGEST.
(gen_offset): Expand parameter OFFSET to LONGEST.
(gen_bitfield_ref): Expand parameters START, END to LONGEST.
Expand BOUND_START, BOUND_END, OFFSET to LONGEST.
(gen_primitive_field): Expand parameter OFFSET to LONGEST.
(gen_struct_ref_recursive): Likewise.
* ax-general.c (ax_trace_quick): Expand parameter N to LONGEST.
* ax.h (ax_trace_quick): Likewise.
* breakpoint.c (breakpoint_address_match_range): Expand parameter
LEN1 to LONGEST.
(can_use_hardware_watchpoint): Expand LEN to LONGEST.
* breakpoint.h (struct bp_target_info): Expand member LENGTH to
LONGEST.
(struct bp_location): Likewise.
* c-lang.c (c_printstr): Expand parameter LENGTH to ULONGEST.
(evaluate_subexp_c): Expand ELEMENT_SIZE, I to LONGEST.
* c-lang.h (c_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST.
(c_printstr): Expand parameter LENGTH to ULONGEST.
(cp_print_value_fields): Expand parameter OFFSET to LONGEST.
(cp_print_value_fields_rtti): Likewise.
* c-typeprint.c (c_type_print_varspec_suffix): Remove cast down to
int and use plongest to print LONGEST.
* c-valprint.c (c_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST. Expand OFFSET to LONGEST, ELTLEN to ULONGEST.
(c_value_print): Expand TOP to LONGEST.
* cp-abi.c (baseclass_offset): Return LONGEST. Expand parameter
EMBEDDED_OFFSET to LONGEST. Expand RES to LONGEST.
(value_virtual_fn_field): Expand parameter OFFSET to LONGEST.
(value_rtti_type): Expand parameter TOP to point to LONGEST.
* cp-abi.h (value_virtual_fn_field): Expand OFFSET to LONGEST.
(value_rtti_type): Expand TOP to point to LONGEST.
(baseclass_offset): Return LONGEST. Expand parameter
EMBEDDED_OFFSET to LONGEST.
(struct cp_abi_ops): Expand parameter OFFSET for VIRTUAL_FN_FIELD
to LONGEST. Expand parameter TOP to point to LONGEST in
VALUE_RTTI_TYPE. Return LONGEST from BASECLASS_OFFSET and expand
parameter EMBEDDED_OFFSET to LONGEST.
* cp-valprint.c (cp_print_value_fields): Expand parameter OFFSET
to LONGEST. Expand I_OFFSET to LONGEST.
(cp_print_value_fields_rtti): Expand parameter OFFSET to
LONGEST. Expand TOP to LONGEST.
(cp_print_value): Expand parameter OFFSET to LONGEST. Expand
THISOFFSET, BOFFSET to LONGEST.
* d-lang.h (d_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST.
* d-valprint.c (dynamic_array_type): Likewise.
(d_val_print): Likewise.
* doublest.c (floatformat_from_length): Expand parameter LEN to
LONGEST. Use plongest to format string for LONGEST.
* dwarf2loc.c (copy_bitwise): Expand parameters DEST_OFFSET_BITS,
BIT_COUNT to ULONGEST. Rename parameter SOURCE_OFFSET_BITS to
SOURCE_OFFSET and expand to ULONGEST. New variable
SOURCE_OFFSET_BITS.
(read_pieced_value): Expand OFFSET, DEST_OFFSET_BITS,
SOURCE_OFFSET_BITS, SOURCE_OFFSET to LONGEST. Expand TYPE_LEN,
THIS_SIZE, THIS_SIZE_BITS to ULONGEST.
(write_pieced_value): Likewise.
(check_pieced_value_bits): Expand parameters BIT_OFFSET and
BIT_LENGTH to LONGEST. Expand THIS_SIZE_BITS to ULONGEST.
(check_pieced_value_validity): Expand parameters BIT_OFFSET and
BIT_LENGTH to LONGEST.
(check_pieced_synthetic_pointer): Likewise.
(indirect_pieced_value): Expand BIT_LENGTH, BYTE_OFFSET and
BIT_OFFSET to LONGEST.
(dwarf2_evaluate_loc_desc_full): Expand N to ULONGEST.
* dwarf2read.c (dwarf2_const_value_length_mismatch_complaint):
Expand parameters ARG2 and ARG3 to LONGEST. Use plongest to
print ARG2 and ARG3.
(dwarf2_add_field): Expand ANONYMOUS_SIZE, BIT_OFFSET to
LONGEST.
* eval.c (evaluate_struct_tuple): Expand BITPOS to LONGEST.
(init_array_element): Expand ELEMENT_SIZE to LONGEST.
(binop_promote): Expand PROMOTED_LEN1, PROMOTED_LEN2, RESULT_LEN
to ULONGEST.
(evaluate_subexp_standard): Expand MEM_OFFSET, TOP, ELEMENT_SIZE
to LONGEST.
* f-lang.c (f_printstr): Expand parameter LENGTH to ULONGEST.
* f-lang.h (f_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST.
* f-valprint.c (f77_array_offset_tbl): Make LONGEST.
(f77_create_arrayprint_offset_tbl): Expand ELTLEN to LONGEST.
(f77_print_array_1): Expand parameter EMBEDDED_OFFSET to
LONGEST. Expand I to LONGEST.
(f77_print_array): Expand parameter EMBEDDED_OFFSET to LONGEST.
(f_val_print): Likewise. Expand OFFSET to LONGEST.
* findvar.c (default_value_from_register): Expand LEN to LONGEST.
(read_frame_register_value): Expand OFFSET, REG_OFFSET, LEN,
REG_LEN to LONGEST.
* frame.c (get_frame_register_bytes): Expand parameter LEN to
LONGEST.
* frame.h (get_frame_register_bytes): Likewise.
* gdbtypes.c (init_type): Expand parameter LENGTH to LONGEST.
(is_unique_ancestor_worker): Expand parameters OFFSET,
EMBEDDED_OFFSET to LONGEST. Expand THIS_OFFSET to LONGEST.
(is_unique_ancestor): Expand OFFSET to LONGEST.
(recursive_dump_type): Use pulongest to format print TYPE_LENGTH.
Use plongest to format print TYPE_FIELD_BITPOS.
(arch_type): Expand parameter LENGTH to LONGEST.
* gdbtypes.h (struct type.main_type.fld_bnds.fields): Expand
member BITPOS to LONGEST.
(struct type): Expand member LENGTH to ULONGEST.
(init_type): Expand parameter LENGTH to LONGEST.
(arch_type): Likewise.
* gnu-v2-abi.c (gnuv2_virtual_fn_field): Expand parameter OFFSET
to LONGEST.
(gnuv2_value_rtti_type): Expand parameter TOP to point to LONGEST.
(gnuv2_baseclass_offset): Return LONGEST. Expand parameter
EMBEDDED_OFFSET to LONGEST. Expand FIELD_OFFSET, BOFFSET,
FIELD_LENGTH to LONGEST.
* gnu-v3-abi.c (build_gdb_vtable_type): Expand OFFSET to LONGEST.
(vtable_address_point_offset): Return LONGEST.
(gnuv3_rtti_type): Expand parameter TOP_P to point to LONGEST.
(gnuv3_virtual_fn_field): Expand parameter OFFSET to LONGEST.
(gnuv3_baseclass_offset): Return LONGEST. Expand parameter
EMBEDDED_OFSET to LONGEST. Expand CUR_BASE_OFFSET, BASE_OFFSET to
LONGEST.
(gnuv3_find_method_in): Expand POS to LONGEST.
* go-lang.h (go_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST.
* go-valprint.c (print_go_string): Likewise.
(go_val_print): Likewise.
* i386-nat.c (i386_handle_nonaligned_watchpoint): Expand
parameter LEN to LONGEST.
(i386_region_ok_for_watchpoint): Likewise.
* inf-ttrace.c (inf_ttrace_region_ok_for_hw_watchpoint): Expand
parameter LEN to LONGEST.
* jv-lang.c (java_link_class_type): Expand BOFFSET to LONGEST.
(java_printstr): Expand parameter LENGTH to ULONGEST.
* jv-lang.h (java_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST.
* jv-valprint.c (java_print_value_fields): Expand parameter OFFSET
to LONGEST.
(java_val_print): Expand parameter EMBEDDED_OFFSET to LONGEST.
* language.c (unk_lang_printstr): Expand parameter LENGTH to
ULONGEST.
(unk_lang_val_print): Expand parameter EMBEDDED_OFFSET to LONGEST.
* language.h (language_defn): Expand parameter LENGTH of
LA_PRINTSTR to ULONGEST. Expand parameter EMBEDDED_OFFSET of
LA_VAL_PRINT to LONGEST.
* m2-lang.c (m2_printstr): Expand parameter LENGTH to ULONGEST.
Expand I, REP1, REPS to ULONGEST. Use pulongest to format print
REPS.
* m2-lang.h (m2_val_print): Expand parameter embedded_offset to
LONGEST.
* m2-typeprint.c (m2_array): New variable VAL. Use pulongest to
* format print VAL.
(m2_enum): expand LASTVAL to LONGEST.
* m2-valprint.c (m2_print_long_set): Expand parameter
EMBEDDED_OFFSET to LONGEST.
(m2_print_unbounded_array): Likewise.
(m2_print_array_contents): Likewise.
(m2_val_print): Expand parameter EMBEDDED_OFFSET to LONGEST.
Expand I, LEN, TEMP_LEN to ULONGEST.
* memrange.c (mem_ranges_overlap): Expand parameters LEN1, LEN2 to
LONGEST.
* memrange.h (struct mem_range): Expand member LENGTH to LONGEST.
(mem_ranges_overlap): Expand parameters LEN1, LEN2 to LONGEST.
* mips-linux-nat.c (mips_linux_region_ok_for_hw_watchpoint):
Expand parameter LEN to LONGEST.
* objc-lang.c (objc_printstr): Expand parameter LENGTH to
ULONGEST. Expand I, REP1, REPS to ULONGEST. use pulongest to
format print REPS.
* opencl-lang.c (lookup_opencl_vector_type): Expand parameter
EL_LENGTH to ULONGEST. Expand LENGTH to ULONGEST.
(lval_func_read): Expand OFFSET, N, I, J and ELSIZE to LONGEST.
(lval_func_write): Likewise.
(lval_func_check_validity): Expand parameter LENGTH to LONGEST.
Expand ELSIZE, START, END, I, STARTREST, ENDREST, COMP_OFFSET,
COMP_LENGTH to LONGEST.
(lval_func_check_any_valid): Expand ELSIZE to LONGEST.
(lval_func_check_synthetic_pointer): Expand parameters OFFSET and
LENGTH to LONGEST. Expand ELSIZE, START, END, I, STARTREST,
ENDREST, COMP_LENGTH, COMP_OFFSET to LONGEST.
* p-lang.c (is_pascal_string_type): Expand parameters LENGTH_POS,
STRING_POS, LENGTH_SIZE to point to LONGEST.
(pascal_printstr): Expand parameter LENGTH to ULONGEST. Expand
I, REP1, REPS to ULONGEST. Use pulongest to format print REPS.
* p-lang.h (pascal_val_print): Expand parameter EMBEDDED_OFFSET
to LONGEST.
(is_pascal_string_type): Expand parameters LENGTH_POS, STRING_POS,
LENGTH_SIZE to point to LONGEST.
(pascal_printstr): Expand parameter LENGTH to ULONGEST.
(pascal_object_print_value_fields): Expand parameter OFFSET to
LONGEST.
* p-valprint.c (pascal_val_print): Expand parameter
EMBEDDED_OFFSET to LONGEST. Expand ELTLEN to ULONGEST. Expand
LENGTH_SIZE, LENGTH_POS, STRING_POS to LONGEST.
(pascal_object_print_value_fields): Expand parameter OFFSET to
LONGEST.
(pascal_object_print_value): Likewise. Expand BOFFSET,
THISOFFSET to LONGEST.
* ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint):
Expand parameter LEN to point to LONGEST.
* printcmd.c (print_formatted): Expand LEN to LONGEST.
(print_scalar_formatted): Likewise.
* procfs.c (procfs_region_ok_for_hw_watchpoint): Expand
parameter LEN to LONGEST.
* python/py-prettyprint.c (apply_val_pretty_printer): Expand
parameter EMBEDDED_OFFSET to LONGEST.
* python/python.h (apply_val_pretty_printer): Likewise.
* regcache.c (regcache_xfer_part): Expand parameter OFFSET to
LONGEST.
(regcache_raw_read_part): Likewise.
(regcache_raw_write_part): Likewise.
(regcache_cooked_read_part): Likewise.
(regcache_cooked_write_part): Likewise.
* regcache.h (regcache_raw_read_part): Likewise.
(regcache_raw_write_part): Likewise.
(regcache_cooked_read_part): Likewise.
(regcache_cooked_write_part): Likewise.
* remote.c (remote_region_ok_for_hw_watchpoint): Expand
parameter LEN to LONGEST.
* s390-nat.c (s390_region_ok_for_hw_watchpoint): Expand
parameter LEN to LONGEST.
* spu-multiarch.c (spu_region_ok_for_hw_watchpoint): Expand
parameter len to LONGEST.
* stack.c (print_frame_nameless_args): Expand parameter START to
LONGEST.
(print_frame_args): Expand HIGHEST_OFFSET, CURRENT_OFFSET,
ARG_SIZE, START to LONGEST.
* symmisc.c (print_symbol): Expand I to ULONGEST. Use pulongest
to format print TYPE_LENGTH.
* target.c (default_region_ok_for_hw_watchpoint): Expand parameter
LEN to LONGEST.
(debug_to_region_ok_for_hw_watchpoint): Likewise.
* target.h (struct target_ops): Expand parameter LEN to LONGEST
for TO_REGION_OK_FOR_HW_WATCHPOINT.
* tracepoint.c (add_memrange): Expand parameter LEN to LONGEST.
Use plongest to format print LEN.
(collect_symbol): Expand LEN to ULONGEST. Use pulongest to
format print LEN.
(scope_info): Expand J to LONGEST. Use pulongest to format
print TYPE_LENGTH.
* typeprint.c (whatis_exp): Expand TOP to LONGEST.
* valarith.c (value_subscripted_rvalue): Expand parameters INDEX
and LOWERBOUND to LONGEST. Expand ELT_SIZE, ELT_OFFS to ULONGEST.
(value_concat): expand INVAL1LEN and INVAL2LEN to ssize_t.
(value_logical_not): Expand LEN to LONGEST.
(value_strcmp): Expand LEN1, LEN2, I, LEN to LONGEST.
* valops.c (value_allocate_space_in_inferior): Expand parameter
LEN to LONGEST.
(value_cast_structs): Expand TOP to LONGEST.
(value_cast): Expand ELEMENT_LENGTH to ULONGEST. Expand
VAL_LENGTH to LONGEST.
(dynamic_cast_check_1): Expand parameter EMBEDDED_OFFSET to
LONGEST. Expand OFFSET to LONGEST.
(dynamic_cast_check_2): Likewise.
(value_dynamic_cast): Expand TOP to LONGEST.
(read_value_memory): Expand EMBEDDED_OFFSET to LONGEST.
(value_assign): Expand CHANGED_LEN, OFFSET to LONGEST.
(value_array): Expand TYPELENGTH to ULONGEST.
(update_search_result): Expand parameters LAST_BOFFSET, BOFFSET
to LONGEST.
(do_search_struct_field): Expand parameter OFFSET, LAST_BOFFSET
to LONGEST. Expand NEW_OFFSET, BOFFSET to LONGEST.
(search_struct_field): Expand parameter OFFSET to LONGEST.
Expand BOFFSET to LONGEST.
(search_struct_method): Expand parameter OFFSET to LONGEST.
Expand BASE_OFFSET, THIS_OFFSET to LONGEST.
(find_method_list): Expand parameters OFFSET, BOFFSET to
LONGEST. Expand BASE_OFFSET to LONGEST.
(value_find_oload_method_list): Expand parameter BOFFSET to point
to LONGEST.
(find_overload_match): Expand BOFFSET to LONGEST.
(value_struct_elt_for_reference): Expand parameter OFFSET to
LONGEST. Remove unneeded cast. Expand BASE_OFFSET to LONGEST.
(value_rtti_indirect_type): Expand parameter TOP to point to
LONGEST.
(value_full_object): Expand parameter XTOP to LONGEST. Expand
TOP to LONGEST.
* valprint.c (valprint_check_validity): Expand parameter
EMBEDDED_OFFSET to LONGEST.
(generic_val_print): Likewise.
(val_print): Likewise.
(val_print_scalar_formatted): Likewise.
(print_hex_chars): Expand parameter LEN to ULONGEST.
(val_print_array_elements): Expand parameter EMBEDDED_OFFSET to
LONGEST, I to ULONGEST. Expand LEN, ELTLEN, REP1, REPS to
ULONGEST. Use pulongest to format print REPS.
(generic_printstr): Expand parameter LENGTH to ULONGEST.
* valprint.h (val_print_array_elements): Expand parameter
EMBEDDED_OFFSET to LONGEST.
(val_print_scalar_formatted): Likewise.
(print_hex_chars): Expand parameter LEN to ULONGEST.
(generic_val_print): Expand parameter EMBEDDED_OFFSET to LONGEST.
(generic_printstr): Expand parameter LENGTH to ULONGEST.
* value.c (struct range): Expand members OFFSET, LENGTH to
LONGEST.
(ranges_overlap): Expand parameters OFFSET1, OFFSET2, LEN1 AND
LEN2 to LONGEST.
(range_contain): Expand parameter OFFSET, LENGTH to LONGEST.
(struct value): Expand members OFFSET, EMBEDDED_OFFSET,
POINTED_TO_OFFSET to LONGEST.
(value_bytes_available): Expand parameters OFFSET, LENGTH to
LONGEST.
(mark_value_bytes_unavailable): Likewise.
(find_first_range_overlap): Likewise.
(value_available_contents_eq): Expand parameters OFFSET1, OFFSET2
and LENGTH to LONGEST.
(value_offset): Return LONGEST.
(set_value_offset): Expand parameter OFFSET to LONGEST.
(value_contents_copy_raw): Expand parameters SRC_OFFSET,
DST_OFFSET, LENGTH to ssize_t.
(value_contents_copy): Likewise.
(value_bits_valid): Expand parameters OFFSET, LENGTH to LONGEST.
(value_bits_synthetic_pointer): Likewise.
(value_embedded_offset): Return LONGEST.
(set_value_embedded_offset): Expand parameter VAL to LONGEST.
(value_pointed_to_offset): Return LONGEST.
(set_value_pointed_to_offset): Expand parameter VAL to LONGEST.
(set_internalvar_component): Expand parameter OFFSET to LONGEST.
(value_primitive_field): Likewise. Expand BITPOS, BOFFSET,
CONTAINER_BITSIZE to LONGEST.
(value_fn_field): Expand parameter OFFSET to LONGEST.
(unpack_value_bits_as_long_1): Expand parameters EMBEDDED_OFFSET,
BITPOS to LONGEST. Expand READ_OFFSET to LONGEST.
(unpack_value_bits_as_long): Expand parameter EMBEDED_OFFSET to
LONGEST.
(unpack_value_field_as_long_1): Likewise. Expand BITPOS to
LONGEST.
(unpack_value_field_as_long): Expand parameter EMBEDDED_OFFSET to
LONGEST.
(value_field_bitfield): Likewise.
(modify_field): Expand parameter BITPOS to LONGEST. Expand
BYTESIZE to LONGEST.
* value.h (value_offset): Return LONGEST.
(set_value_offset): Expand parameter OFFSET to LONGEST.
(value_pointed_to_offset): Return LONGEST.
(set_value_pointed_to_offset): Expand parameter VAL to LONGEST.
(value_embedded_offset): Return LONGEST.
(set_value_embedded_offset): Expand parameter VAL to LONGEST.
(struct lval_funcs): Expand parameters OFFSET and LENGTH to
LONGEST for CHECK_VALIDITY. Likewise for CHECK_SYNTHETIC_POINTER.
(valprint_check_validity): Expand parameter EMBEDDED_OFFSET to
LONGEST.
(value_bits_valid): Expand parameters OFFSET, LENGTH to LONGEST.
(value_bits_synthetic_pointer): Likewise.
(value_bytes_available): Likewise.
(mark_value_bytes_unavailable): Likewise.
(value_available_contents_eq): Fix comment. Expand parameters
OFFSET1, OFFSET2, LENGTH to LONGEST.
(read_value_memory): Expand parameter EMBEDDED_OFFSET to
LONGEST.
(unpack_value_bits_as_long): Expand parameter EMBEDDED_OFFSET to
LONGEST.
(unpack_value_field_as_long): Likewise.
(value_field_bitfield): Likewise.
(value_contents_copy_raw): Expand parameters SRC_OFFSET,
DST_OFFSET, LENGTH to LONGEST.
(value_contents_copy): Likewise.
(value_primitive_field): Expand parameter OFFSET to LONGEST.
(value_rtti_indirect_type): Expand parameter TOP to point to
LONGEST.
(value_full_object): Expand parameter XTOP to LONGEST.
(set_internalvar_component): Expand parameter OFFSET to LONGEST.
(value_fn_field): Expand parameter OFFSET to LONGEST.
(modify_field): Expand parameter BITPOS to LONGEST.
(val_print): Expand parameter EMBEDDED_OFFSET to LONGEST.
(value_allocate_space_in_inferior): Expand parameter LEN to
LONGEST.
gdb/testsuite/ChangeLog:
2012-08-05 Siddhesh Poyarekar <siddhesh@redhat.com>
* gdb.base/longest-types.exp: Add test case to get offset of
BUF2.
--MP_/yp5f+W_ED2JtUlSyBi8xujr
Content-Type: text/x-patch
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=bitpos-main.patch
Index: gdb-8.0/gdb/ada-lang.c
===================================================================
--- gdb-8.0.orig/gdb/ada-lang.c 2017-08-19 20:04:59.785780501 +0200
+++ gdb-8.0/gdb/ada-lang.c 2017-08-19 20:05:10.056876589 +0200
@@ -76,7 +76,7 @@
static struct value *desc_bounds (struct value *);
-static int fat_pntr_bounds_bitpos (struct type *);
+static LONGEST fat_pntr_bounds_bitpos (struct type *);
static int fat_pntr_bounds_bitsize (struct type *);
@@ -84,13 +84,13 @@
static struct value *desc_data (struct value *);
-static int fat_pntr_data_bitpos (struct type *);
+static LONGEST fat_pntr_data_bitpos (struct type *);
static int fat_pntr_data_bitsize (struct type *);
static struct value *desc_one_bound (struct value *, int, int);
-static int desc_bound_bitpos (struct type *, int, int);
+static LONGEST desc_bound_bitpos (struct type *, int, int);
static int desc_bound_bitsize (struct type *, int, int);
@@ -173,7 +173,7 @@
static struct value *unwrap_value (struct value *);
-static struct type *constrained_packed_array_type (struct type *, long *);
+static struct type *constrained_packed_array_type (struct type *, LONGEST *);
static struct type *decode_constrained_packed_array_type (struct type *);
@@ -188,7 +188,8 @@
static struct value *value_subscript_packed (struct value *, int,
struct value **);
-static void move_bits (gdb_byte *, int, const gdb_byte *, int, int, int);
+static void move_bits (gdb_byte *, int, const gdb_byte *, LONGEST, LONGEST,
+ int);
static struct value *coerce_unspec_val_to_type (struct value *,
struct type *);
@@ -216,14 +217,14 @@
static struct symbol *standard_lookup (const char *, const struct block *,
domain_enum);
-static struct value *ada_search_struct_field (const char *, struct value *, int,
+static struct value *ada_search_struct_field (const char *, struct value *, LONGEST,
struct type *);
-static struct value *ada_value_primitive_field (struct value *, int, int,
+static struct value *ada_value_primitive_field (struct value *, LONGEST, int,
struct type *);
-static int find_struct_field (const char *, struct type *, int,
- struct type **, int *, int *, int *, int *);
+static int find_struct_field (const char *, struct type *, LONGEST,
+ struct type **, LONGEST *, int *, int *, int *);
static struct value *ada_to_fixed_value_create (struct type *, CORE_ADDR,
struct value *);
@@ -237,7 +238,7 @@
static void ada_language_arch_info (struct gdbarch *,
struct language_arch_info *);
-static struct value *ada_index_struct_field (int, struct value *, int,
+static struct value *ada_index_struct_field (LONGEST, struct value *, LONGEST,
struct type *);
static struct value *assign_aggregate (struct value *, struct value *,
@@ -699,7 +700,7 @@
}
static const gdb_byte *
-cond_offset_host (const gdb_byte *valaddr, long offset)
+cond_offset_host (const gdb_byte *valaddr, LONGEST offset)
{
if (valaddr == NULL)
return NULL;
@@ -708,7 +709,7 @@
}
static CORE_ADDR
-cond_offset_target (CORE_ADDR address, long offset)
+cond_offset_target (CORE_ADDR address, LONGEST offset)
{
if (address == 0)
return 0;
@@ -1755,7 +1756,7 @@
/* If TYPE is the type of an array-descriptor (fat pointer), the bit
position of the field containing the address of the bounds data. */
-static int
+static LONGEST
fat_pntr_bounds_bitpos (struct type *type)
{
return TYPE_FIELD_BITPOS (desc_base_type (type), 1);
@@ -1821,7 +1822,7 @@
/* If TYPE is the type of an array-descriptor (fat pointer), the bit
position of the field containing the address of the data. */
-static int
+static LONGEST
fat_pntr_data_bitpos (struct type *type)
{
return TYPE_FIELD_BITPOS (desc_base_type (type), 0);
@@ -1856,7 +1857,7 @@
of the Ith lower bound stored in it, if WHICH is 0, and the Ith upper
bound, if WHICH is 1. The first bound is I=1. */
-static int
+static LONGEST
desc_bound_bitpos (struct type *type, int i, int which)
{
return TYPE_FIELD_BITPOS (desc_base_type (type), 2 * i + which - 2);
@@ -2046,7 +2047,7 @@
zero, and does not need to be recomputed. */
if (lo < hi)
{
- int array_bitsize =
+ LONGEST array_bitsize =
(hi - lo + 1) * TYPE_FIELD_BITSIZE (elt_type, 0);
TYPE_LENGTH (array_type) = (array_bitsize + 7) / 8;
@@ -2206,7 +2207,7 @@
the length is arbitrary. */
static struct type *
-constrained_packed_array_type (struct type *type, long *elt_bits)
+constrained_packed_array_type (struct type *type, LONGEST *elt_bits)
{
struct type *new_elt_type;
struct type *new_type;
@@ -2260,7 +2261,7 @@
char *name;
const char *tail;
struct type *shadow_type;
- long bits;
+ LONGEST bits;
if (!raw_name)
raw_name = ada_type_name (desc_base_type (type));
@@ -2331,7 +2332,8 @@
array with no wrapper. In order to interpret the value through
the (left-justified) packed array type we just built, we must
first left-justify it. */
- int bit_size, bit_pos;
+ int bit_size;
+ LONGEST bit_pos;
ULONGEST mod;
mod = ada_modulus (value_type (arr)) - 1;
@@ -2559,7 +2561,7 @@
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;
@@ -2630,7 +2632,7 @@
if (obj != NULL)
{
- long new_offset = offset;
+ LONGEST new_offset = offset;
set_value_component_location (v, obj);
set_value_bitpos (v, bit_offset + value_bitpos (obj));
@@ -2676,7 +2678,7 @@
not overlap. */
static void
move_bits (gdb_byte *target, int targ_offset, const gdb_byte *source,
- int src_offset, int n, int bits_big_endian_p)
+ LONGEST src_offset, LONGEST n, int bits_big_endian_p)
{
unsigned int accum, mask;
int accum_bits, chunk_size;
@@ -2766,7 +2768,7 @@
{
int len = (value_bitpos (toval)
+ bits + HOST_CHAR_BIT - 1) / HOST_CHAR_BIT;
- int from_size;
+ LONGEST from_size;
gdb_byte *buffer = (gdb_byte *) alloca (len);
struct value *val;
CORE_ADDR to_addr = value_address (toval);
@@ -2817,7 +2819,7 @@
(LONGEST) (value_address (component) - value_address (container));
int bit_offset_in_container =
value_bitpos (component) - value_bitpos (container);
- int bits;
+ LONGEST bits;
val = value_cast (value_type (component), val);
@@ -4468,7 +4470,7 @@
if (VALUE_LVAL (val) == not_lval
|| VALUE_LVAL (val) == lval_internalvar)
{
- int len = TYPE_LENGTH (ada_check_typedef (value_type (val)));
+ LONGEST len = TYPE_LENGTH (ada_check_typedef (value_type (val)));
const CORE_ADDR addr =
value_as_long (value_allocate_space_in_inferior (len));
@@ -4552,7 +4554,7 @@
value_pointer (struct value *value, struct type *type)
{
struct gdbarch *gdbarch = get_type_arch (type);
- unsigned len = TYPE_LENGTH (type);
+ ULONGEST len = TYPE_LENGTH (type);
gdb_byte *buf = (gdb_byte *) alloca (len);
CORE_ADDR addr;
@@ -6752,7 +6754,7 @@
const gdb_byte *valaddr,
CORE_ADDR address)
{
- int tag_byte_offset;
+ LONGEST tag_byte_offset;
struct type *tag_type;
if (find_struct_field ("_tag", type, 0, &tag_type, &tag_byte_offset,
@@ -7233,7 +7235,7 @@
only in that it can handle packed values of arbitrary type. */
static struct value *
-ada_value_primitive_field (struct value *arg1, int offset, int fieldno,
+ada_value_primitive_field (struct value *arg1, LONGEST offset, int fieldno,
struct type *arg_type)
{
struct type *type;
@@ -7245,7 +7247,7 @@
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),
@@ -7272,9 +7274,9 @@
Returns 1 if found, 0 otherwise. */
static int
-find_struct_field (const char *name, struct type *type, int offset,
+find_struct_field (const char *name, struct type *type, LONGEST offset,
struct type **field_type_p,
- int *byte_offset_p, int *bit_offset_p, int *bit_size_p,
+ LONGEST *byte_offset_p, int *bit_offset_p, int *bit_size_p,
int *index_p)
{
int i;
@@ -7292,8 +7294,8 @@
for (i = 0; i < TYPE_NFIELDS (type); i += 1)
{
- int bit_pos = TYPE_FIELD_BITPOS (type, i);
- int fld_offset = offset + bit_pos / 8;
+ LONGEST bit_pos = TYPE_FIELD_BITPOS (type, i);
+ LONGEST fld_offset = offset + bit_pos / 8;
const char *t_field_name = TYPE_FIELD_NAME (type, i);
if (t_field_name == NULL)
@@ -7363,7 +7365,7 @@
Searches recursively through wrapper fields (e.g., '_parent'). */
static struct value *
-ada_search_struct_field (const char *name, struct value *arg, int offset,
+ada_search_struct_field (const char *name, struct value *arg, LONGEST offset,
struct type *type)
{
int i;
@@ -7396,7 +7398,7 @@
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)
{
@@ -7414,8 +7416,8 @@
return NULL;
}
-static struct value *ada_index_struct_field_1 (int *, struct value *,
- int, struct type *);
+static struct value *ada_index_struct_field_1 (LONGEST *, struct value *,
+ LONGEST, struct type *);
/* Return field #INDEX in ARG, where the index is that returned by
@@ -7424,7 +7426,7 @@
* If found, return value, else return NULL. */
static struct value *
-ada_index_struct_field (int index, struct value *arg, int offset,
+ada_index_struct_field (LONGEST index, struct value *arg, LONGEST offset,
struct type *type)
{
return ada_index_struct_field_1 (&index, arg, offset, type);
@@ -7436,7 +7438,7 @@
* *INDEX_P. */
static struct value *
-ada_index_struct_field_1 (int *index_p, struct value *arg, int offset,
+ada_index_struct_field_1 (LONGEST *index_p, struct value *arg, LONGEST offset,
struct type *type)
{
int i;
@@ -7526,7 +7528,8 @@
v = ada_search_struct_field (name, arg, 0, t);
else
{
- int bit_offset, bit_size, byte_offset;
+ int bit_offset, bit_size;
+ LONGEST byte_offset;
struct type *field_type;
CORE_ADDR address;
@@ -7832,8 +7835,8 @@
/* Return OFF rounded upward if necessary to a multiple of
ALIGNMENT (a power of 2). */
-static unsigned int
-align_value (unsigned int off, unsigned int alignment)
+static ULONGEST
+align_value (ULONGEST off, ULONGEST alignment)
{
return (off + alignment - 1) & ~(alignment - 1);
}
@@ -8227,10 +8230,9 @@
struct value *mark = value_mark ();
struct value *dval;
struct type *rtype;
- int nfields, bit_len;
+ int nfields;
int variant_field;
- long off;
- int fld_bit_len;
+ LONGEST off, bit_len, fld_bit_len;
int f;
/* Compute the number of fields in this record type that are going
@@ -8308,7 +8310,7 @@
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);
@@ -8444,11 +8446,11 @@
if (TYPE_LENGTH (type) <= 0)
{
if (TYPE_NAME (rtype))
- warning (_("Invalid type size for `%s' detected: %d."),
- TYPE_NAME (rtype), TYPE_LENGTH (type));
+ warning (_("Invalid type size for `%s' detected: %s."),
+ TYPE_NAME (rtype), pulongest (TYPE_LENGTH (type)));
else
- warning (_("Invalid type size for <unnamed> detected: %d."),
- TYPE_LENGTH (type));
+ warning (_("Invalid type size for <unnamed> detected: %s."),
+ pulongest (TYPE_LENGTH (type)));
}
else
{
@@ -8915,7 +8917,8 @@
type was a regular (non-packed) array type. As a result, the
bitsize of the array elements needs to be set again, and the array
length needs to be recomputed based on that bitsize. */
- int len = TYPE_LENGTH (result) / TYPE_LENGTH (TYPE_TARGET_TYPE (result));
+ LONGEST len = (TYPE_LENGTH (result)
+ / TYPE_LENGTH (TYPE_TARGET_TYPE (result)));
int elt_bitsize = TYPE_FIELD_BITSIZE (type0, 0);
TYPE_FIELD_BITSIZE (result, 0) = TYPE_FIELD_BITSIZE (type0, 0);
Index: gdb-8.0/gdb/ada-lang.h
===================================================================
--- gdb-8.0.orig/gdb/ada-lang.h 2017-08-19 20:04:59.786780510 +0200
+++ gdb-8.0/gdb/ada-lang.h 2017-08-19 20:05:10.056876589 +0200
@@ -168,7 +168,7 @@
extern void ada_print_typedef (struct type *type, struct symbol *new_symbol,
struct ui_file *stream);
-extern void ada_val_print (struct type *, int, CORE_ADDR,
+extern void ada_val_print (struct type *, LONGEST, CORE_ADDR,
struct ui_file *, int,
struct value *,
const struct value_print_options *);
@@ -183,7 +183,7 @@
extern void ada_printchar (int, struct type *, struct ui_file *);
extern void ada_printstr (struct ui_file *, struct type *, const gdb_byte *,
- unsigned int, const char *, int,
+ ULONGEST, const char *, int,
const struct value_print_options *);
struct value *ada_convert_actual (struct value *actual,
@@ -255,7 +255,7 @@
extern struct value *ada_value_primitive_packed_val (struct value *,
const gdb_byte *,
- long, int, int,
+ LONGEST, int, int,
struct type *);
extern struct type *ada_coerce_to_simple_array_type (struct type *);
Index: gdb-8.0/gdb/ada-typeprint.c
===================================================================
--- gdb-8.0.orig/gdb/ada-typeprint.c 2017-08-19 20:04:59.786780510 +0200
+++ gdb-8.0/gdb/ada-typeprint.c 2017-08-19 20:05:10.057876598 +0200
@@ -891,8 +891,8 @@
const char *name = ada_type_name (type);
if (!ada_is_range_type_name (name))
- fprintf_filtered (stream, _("<%d-byte integer>"),
- TYPE_LENGTH (type));
+ fprintf_filtered (stream, _("<%s-byte integer>"),
+ pulongest (TYPE_LENGTH (type)));
else
{
fprintf_filtered (stream, "range ");
@@ -913,7 +913,8 @@
}
break;
case TYPE_CODE_FLT:
- fprintf_filtered (stream, _("<%d-byte float>"), TYPE_LENGTH (type));
+ fprintf_filtered (stream, _("<%s-byte float>"),
+ pulongest (TYPE_LENGTH (type)));
break;
case TYPE_CODE_ENUM:
if (show < 0)
Index: gdb-8.0/gdb/ada-valprint.c
===================================================================
--- gdb-8.0.orig/gdb/ada-valprint.c 2017-08-19 20:04:59.787780520 +0200
+++ gdb-8.0/gdb/ada-valprint.c 2017-08-19 20:05:10.057876598 +0200
@@ -33,11 +33,11 @@
#include "objfiles.h"
static int print_field_values (struct type *, const gdb_byte *,
- int,
+ LONGEST,
struct ui_file *, int,
struct value *,
const struct value_print_options *,
- int, struct type *, int,
+ int, struct type *, LONGEST,
const struct language_defn *);
@@ -279,7 +279,7 @@
of a character. */
static int
-char_at (const gdb_byte *string, int i, int type_len,
+char_at (const gdb_byte *string, LONGEST i, int type_len,
enum bfd_endian byte_order)
{
if (type_len == 1)
@@ -439,11 +439,11 @@
static void
printstr (struct ui_file *stream, struct type *elttype, const gdb_byte *string,
- unsigned int length, int force_ellipses, int type_len,
+ ULONGEST length, int force_ellipses, int type_len,
const struct value_print_options *options)
{
enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (elttype));
- unsigned int i;
+ ULONGEST i;
unsigned int things_printed = 0;
int in_quotes = 0;
int need_comma = 0;
@@ -458,9 +458,9 @@
{
/* Position of the character we are examining
to see whether it is repeated. */
- unsigned int rep1;
+ ULONGEST rep1;
/* Number of repetitions we have detected so far. */
- unsigned int reps;
+ ULONGEST reps;
QUIT;
@@ -491,7 +491,8 @@
ada_emit_char (char_at (string, i, type_len, byte_order),
elttype, stream, '\'', type_len);
fputs_filtered ("'", stream);
- fprintf_filtered (stream, _(" <repeats %u times>"), reps);
+ fprintf_filtered (stream, _(" <repeats %s times>"),
+ pulongest (reps));
i = rep1 - 1;
things_printed += options->repeat_count_threshold;
need_comma = 1;
@@ -519,7 +520,7 @@
void
ada_printstr (struct ui_file *stream, struct type *type,
- const gdb_byte *string, unsigned int length,
+ const gdb_byte *string, ULONGEST length,
const char *encoding, int force_ellipses,
const struct value_print_options *options)
{
@@ -529,12 +530,12 @@
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,
struct value *val,
const struct value_print_options *options,
int comma_needed,
- struct type *outer_type, int outer_offset,
+ struct type *outer_type, LONGEST outer_offset,
const struct language_defn *language)
{
struct type *var_type = TYPE_FIELD_TYPE (type, field_num);
@@ -570,11 +571,11 @@
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,
struct value *val,
const struct value_print_options *options,
int comma_needed,
- struct type *outer_type, int outer_offset,
+ struct type *outer_type, LONGEST outer_offset,
const struct language_defn *language)
{
int i, len;
@@ -640,7 +641,7 @@
else
{
struct value *v;
- 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;
@@ -685,8 +686,8 @@
{
enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type));
struct type *elttype = TYPE_TARGET_TYPE (type);
- unsigned int eltlen;
- unsigned int len;
+ ULONGEST eltlen;
+ ULONGEST len;
/* We know that ELTTYPE cannot possibly be null, because we assume
that we're called only when TYPE is a string-like type.
@@ -705,7 +706,7 @@
elements up to it. */
if (options->stop_print_at_null)
{
- int temp_len;
+ LONGEST temp_len;
/* Look for a NULL char. */
for (temp_len = 0;
@@ -1072,7 +1073,7 @@
static void
ada_val_print_1 (struct type *type,
- int offset, CORE_ADDR address,
+ LONGEST offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
struct value *original_value,
const struct value_print_options *options,
@@ -1156,7 +1157,7 @@
void
ada_val_print (struct type *type,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
struct value *val,
const struct value_print_options *options)
Index: gdb-8.0/gdb/annotate.c
===================================================================
--- gdb-8.0.orig/gdb/annotate.c 2017-08-19 20:04:59.787780520 +0200
+++ gdb-8.0/gdb/annotate.c 2017-08-19 20:05:10.057876598 +0200
@@ -533,21 +533,21 @@
}
void
-annotate_array_section_begin (int idx, struct type *elttype)
+annotate_array_section_begin (LONGEST idx, struct type *elttype)
{
if (annotation_level == 2)
{
- printf_filtered (("\n\032\032array-section-begin %d "), idx);
+ printf_filtered (("\n\032\032array-section-begin %s "), plongest (idx));
print_value_flags (elttype);
printf_filtered (("\n"));
}
}
void
-annotate_elt_rep (unsigned int repcount)
+annotate_elt_rep (ULONGEST repcount)
{
if (annotation_level == 2)
- printf_filtered (("\n\032\032elt-rep %u\n"), repcount);
+ printf_filtered (("\n\032\032elt-rep %s\n"), pulongest (repcount));
}
void
Index: gdb-8.0/gdb/annotate.h
===================================================================
--- gdb-8.0.orig/gdb/annotate.h 2017-08-19 20:04:59.788780529 +0200
+++ gdb-8.0/gdb/annotate.h 2017-08-19 20:05:10.058876607 +0200
@@ -92,8 +92,8 @@
extern void annotate_frame_where (void);
extern void annotate_frame_end (void);
-extern void annotate_array_section_begin (int, struct type *);
-extern void annotate_elt_rep (unsigned int);
+extern void annotate_array_section_begin (LONGEST, struct type *);
+extern void annotate_elt_rep (ULONGEST);
extern void annotate_elt_rep_end (void);
extern void annotate_elt (void);
extern void annotate_array_section_end (void);
Index: gdb-8.0/gdb/arm-linux-nat.c
===================================================================
--- gdb-8.0.orig/gdb/arm-linux-nat.c 2017-08-19 20:04:59.788780529 +0200
+++ gdb-8.0/gdb/arm-linux-nat.c 2017-08-19 20:05:10.058876607 +0200
@@ -1067,7 +1067,7 @@
ADDR? */
static int
arm_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
- CORE_ADDR addr, int len)
+ CORE_ADDR addr, LONGEST len)
{
const struct arm_linux_hwbp_cap *cap = arm_linux_get_hwbp_cap ();
CORE_ADDR max_wp_length, aligned_addr;
Index: gdb-8.0/gdb/ax-gdb.c
===================================================================
--- gdb-8.0.orig/gdb/ax-gdb.c 2017-08-19 20:04:59.789780538 +0200
+++ gdb-8.0/gdb/ax-gdb.c 2017-08-19 20:05:10.059876617 +0200
@@ -83,12 +83,12 @@
static void gen_sign_extend (struct agent_expr *, struct type *);
static void gen_extend (struct agent_expr *, struct type *);
static void gen_fetch (struct agent_expr *, struct type *);
-static void gen_left_shift (struct agent_expr *, int);
+static void gen_left_shift (struct agent_expr *, LONGEST);
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);
@@ -137,15 +137,15 @@
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,
- const char *field, int offset,
+ const char *field, LONGEST offset,
struct type *type);
static void gen_struct_ref (struct expression *exp, struct agent_expr *ax,
struct axs_value *value,
@@ -541,7 +541,7 @@
right shift it by -DISTANCE bits if DISTANCE < 0. This generates
unsigned (logical) right shifts. */
static void
-gen_left_shift (struct agent_expr *ax, int distance)
+gen_left_shift (struct agent_expr *ax, LONGEST distance)
{
if (distance > 0)
{
@@ -595,7 +595,7 @@
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
@@ -1251,7 +1251,7 @@
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[]
@@ -1286,13 +1286,13 @@
/* 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)
- / TARGET_CHAR_BIT)
- * TARGET_CHAR_BIT);
+ 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;
@@ -1411,7 +1411,7 @@
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))
@@ -1436,7 +1436,7 @@
static int
gen_struct_ref_recursive (struct expression *exp, struct agent_expr *ax,
struct axs_value *value,
- const char *field, int offset, struct type *type)
+ const char *field, LONGEST offset, struct type *type)
{
int i, rslt;
int nbases = TYPE_N_BASECLASSES (type);
Index: gdb-8.0/gdb/ax-general.c
===================================================================
--- gdb-8.0.orig/gdb/ax-general.c 2017-08-19 20:04:59.789780538 +0200
+++ gdb-8.0/gdb/ax-general.c 2017-08-19 20:05:10.059876617 +0200
@@ -177,7 +177,7 @@
/* Append a trace_quick instruction to EXPR, to record N bytes. */
void
-ax_trace_quick (struct agent_expr *x, int n)
+ax_trace_quick (struct agent_expr *x, LONGEST n)
{
/* N must fit in a byte. */
if (n < 0 || n > 255)
Index: gdb-8.0/gdb/ax.h
===================================================================
--- gdb-8.0.orig/gdb/ax.h 2017-08-19 20:04:59.789780538 +0200
+++ gdb-8.0/gdb/ax.h 2017-08-19 20:05:10.059876617 +0200
@@ -205,7 +205,7 @@
extern void ax_zero_ext (struct agent_expr *EXPR, int N);
/* Append a trace_quick instruction to EXPR, to record N bytes. */
-extern void ax_trace_quick (struct agent_expr *EXPR, int N);
+extern void ax_trace_quick (struct agent_expr *EXPR, LONGEST N);
/* Append a goto op to EXPR. OP is the actual op (must be aop_goto or
aop_if_goto). We assume we don't know the target offset yet,
Index: gdb-8.0/gdb/breakpoint.c
===================================================================
--- gdb-8.0.orig/gdb/breakpoint.c 2017-08-19 20:04:59.792780566 +0200
+++ gdb-8.0/gdb/breakpoint.c 2017-08-19 20:05:10.063876654 +0200
@@ -2225,9 +2225,9 @@
{
fprintf_unfiltered (gdb_stdlog,
"infrun: stepping past non-steppable watchpoint. "
- "skipping watchpoint at %s:%d\n",
+ "skipping watchpoint at %s:%s\n",
paddress (bl->gdbarch, bl->address),
- bl->length);
+ plongest (bl->length));
}
return 0;
}
@@ -7151,7 +7151,7 @@
static int
breakpoint_address_match_range (struct address_space *aspace1, CORE_ADDR addr1,
- int len1, struct address_space *aspace2,
+ LONGEST len1, struct address_space *aspace2,
CORE_ADDR addr2)
{
return ((gdbarch_has_global_breakpoints (target_gdbarch ())
@@ -11444,7 +11444,7 @@
&& TYPE_CODE (vtype) != TYPE_CODE_ARRAY))
{
CORE_ADDR vaddr = value_address (v);
- int len;
+ LONGEST len;
int num_regs;
len = (target_exact_watchpoints
Index: gdb-8.0/gdb/breakpoint.h
===================================================================
--- gdb-8.0.orig/gdb/breakpoint.h 2017-08-19 20:04:59.793780576 +0200
+++ gdb-8.0/gdb/breakpoint.h 2017-08-19 20:05:10.063876654 +0200
@@ -250,7 +250,7 @@
/* If this is a ranged breakpoint, then this field contains the
length of the range that will be watched for execution. */
- int length;
+ LONGEST length;
/* If the breakpoint lives in memory and reading that memory would
give back the breakpoint, instead of the original contents, then
@@ -422,7 +422,7 @@
/* For hardware watchpoints, the size of the memory region being
watched. For hardware ranged breakpoints, the size of the
breakpoint range. */
- int length;
+ LONGEST length;
/* Type of hardware watchpoint. */
enum target_hw_bp_type watchpoint_type;
Index: gdb-8.0/gdb/c-lang.c
===================================================================
--- gdb-8.0.orig/gdb/c-lang.c 2017-08-19 20:04:59.793780576 +0200
+++ gdb-8.0/gdb/c-lang.c 2017-08-19 20:05:10.064876663 +0200
@@ -186,7 +186,7 @@
void
c_printstr (struct ui_file *stream, struct type *type,
- const gdb_byte *string, unsigned int length,
+ const gdb_byte *string, ULONGEST length,
const char *user_encoding, int force_ellipses,
const struct value_print_options *options)
{
@@ -672,7 +672,7 @@
}
else
{
- int i;
+ LONGEST i;
/* Write the terminating character. */
for (i = 0; i < TYPE_LENGTH (type); ++i)
@@ -681,7 +681,7 @@
if (satisfy_expected)
{
LONGEST low_bound, high_bound;
- int element_size = TYPE_LENGTH (type);
+ LONGEST element_size = TYPE_LENGTH (type);
if (get_discrete_bounds (TYPE_INDEX_TYPE (expect_type),
&low_bound, &high_bound) < 0)
Index: gdb-8.0/gdb/c-lang.h
===================================================================
--- gdb-8.0.orig/gdb/c-lang.h 2017-08-19 20:04:59.793780576 +0200
+++ gdb-8.0/gdb/c-lang.h 2017-08-19 20:05:10.064876663 +0200
@@ -77,7 +77,7 @@
struct ui_file *);
extern void c_val_print (struct type *,
- int, CORE_ADDR,
+ LONGEST, CORE_ADDR,
struct ui_file *, int,
struct value *,
const struct value_print_options *);
@@ -97,7 +97,7 @@
extern void c_printstr (struct ui_file * stream,
struct type *elttype,
const gdb_byte *string,
- unsigned int length,
+ ULONGEST length,
const char *user_encoding,
int force_ellipses,
const struct value_print_options *options);
Index: gdb-8.0/gdb/c-valprint.c
===================================================================
--- gdb-8.0.orig/gdb/c-valprint.c 2017-08-19 20:04:59.794780585 +0200
+++ gdb-8.0/gdb/c-valprint.c 2017-08-19 20:05:10.064876663 +0200
@@ -244,7 +244,7 @@
if (TYPE_LENGTH (type) > 0 && TYPE_LENGTH (unresolved_elttype) > 0)
{
LONGEST low_bound, high_bound;
- int eltlen, len;
+ LONGEST eltlen, len;
struct gdbarch *gdbarch = get_type_arch (type);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
unsigned int i = 0; /* Number of characters printed. */
@@ -318,8 +318,8 @@
if (cp_is_vtbl_ptr_type (elttype))
{
i = 1;
- fprintf_filtered (stream, _("%d vtable entries"),
- len - 1);
+ fprintf_filtered (stream, _("%s vtable entries"),
+ plongest (len - 1));
}
else
{
@@ -396,7 +396,7 @@
-fvtable_thunks. (Otherwise, look under
TYPE_CODE_PTR.) */
struct gdbarch *gdbarch = get_type_arch (type);
- int offset = (embedded_offset
+ LONGEST offset = (embedded_offset
+ TYPE_FIELD_BITPOS (type,
VTBL_FNADDR_OFFSET) / 8);
struct type *field_type = TYPE_FIELD_TYPE (type, VTBL_FNADDR_OFFSET);
@@ -495,7 +495,7 @@
void
c_val_print (struct type *type,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
struct value *original_value,
const struct value_print_options *options)
Index: gdb-8.0/gdb/cp-abi.c
===================================================================
--- gdb-8.0.orig/gdb/cp-abi.c 2017-08-19 20:04:59.794780585 +0200
+++ gdb-8.0/gdb/cp-abi.c 2017-08-19 20:05:10.065876673 +0200
@@ -64,12 +64,12 @@
return (*current_cp_abi.is_operator_name) (name);
}
-int
+LONGEST
baseclass_offset (struct type *type, int index, const gdb_byte *valaddr,
LONGEST embedded_offset, CORE_ADDR address,
const struct value *val)
{
- int res = 0;
+ LONGEST res = 0;
gdb_assert (current_cp_abi.baseclass_offset != NULL);
@@ -96,7 +96,7 @@
struct value *
value_virtual_fn_field (struct value **arg1p,
struct fn_field *f, int j,
- struct type *type, int offset)
+ struct type *type, LONGEST offset)
{
if ((current_cp_abi.virtual_fn_field) == NULL)
return NULL;
Index: gdb-8.0/gdb/cp-abi.h
===================================================================
--- gdb-8.0.orig/gdb/cp-abi.h 2017-08-19 20:04:59.794780585 +0200
+++ gdb-8.0/gdb/cp-abi.h 2017-08-19 20:05:10.065876673 +0200
@@ -108,7 +108,7 @@
struct fn_field *f,
int j,
struct type *type,
- int offset);
+ LONGEST offset);
/* Try to find the run-time type of VALUE, using C++ run-time type
@@ -144,11 +144,11 @@
contents of VAL. The result is the offset of the baseclass value
relative to (the address of)(ARG) + OFFSET. */
-extern int baseclass_offset (struct type *type,
- int index, const gdb_byte *valaddr,
- LONGEST embedded_offset,
- CORE_ADDR address,
- const struct value *val);
+extern LONGEST baseclass_offset (struct type *type,
+ int index, const gdb_byte *valaddr,
+ LONGEST embedded_offset,
+ CORE_ADDR address,
+ const struct value *val);
/* Describe the target of a pointer to method. CONTENTS is the byte
pattern representing the pointer to method. TYPE is the pointer to
@@ -226,12 +226,12 @@
struct value *(*virtual_fn_field) (struct value **arg1p,
struct fn_field * f,
int j, struct type * type,
- int offset);
+ LONGEST offset);
struct type *(*rtti_type) (struct value *v, int *full,
LONGEST *top, int *using_enc);
- int (*baseclass_offset) (struct type *type, int index,
- const bfd_byte *valaddr, LONGEST embedded_offset,
- CORE_ADDR address, const struct value *val);
+ LONGEST (*baseclass_offset) (struct type *type, int index,
+ const bfd_byte *valaddr, LONGEST embedded_offset,
+ CORE_ADDR address, const struct value *val);
void (*print_method_ptr) (const gdb_byte *contents,
struct type *type,
struct ui_file *stream);
Index: gdb-8.0/gdb/cp-valprint.c
===================================================================
--- gdb-8.0.orig/gdb/cp-valprint.c 2017-08-19 20:04:59.794780585 +0200
+++ gdb-8.0/gdb/cp-valprint.c 2017-08-19 20:05:10.065876673 +0200
@@ -336,7 +336,7 @@
}
else if (i == vptr_fieldno && type == vptr_basetype)
{
- int i_offset = offset + TYPE_FIELD_BITPOS (type, i) / 8;
+ LONGEST i_offset = offset + TYPE_FIELD_BITPOS (type, i) / 8;
struct type *i_type = TYPE_FIELD_TYPE (type, i);
if (valprint_check_validity (stream, i_type, i_offset, val))
Index: gdb-8.0/gdb/d-lang.h
===================================================================
--- gdb-8.0.orig/gdb/d-lang.h 2017-08-19 20:04:59.794780585 +0200
+++ gdb-8.0/gdb/d-lang.h 2017-08-19 20:05:10.065876673 +0200
@@ -81,7 +81,7 @@
/* Defined in d-valprint.c */
extern void d_val_print (struct type *type,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
struct value *val,
const struct value_print_options *options);
Index: gdb-8.0/gdb/d-valprint.c
===================================================================
--- gdb-8.0.orig/gdb/d-valprint.c 2017-08-19 20:04:59.794780585 +0200
+++ gdb-8.0/gdb/d-valprint.c 2017-08-19 20:05:10.065876673 +0200
@@ -73,7 +73,7 @@
/* Implements the la_val_print routine for language D. */
void
-d_val_print (struct type *type, int embedded_offset,
+d_val_print (struct type *type, LONGEST embedded_offset,
CORE_ADDR address, struct ui_file *stream, int recurse,
struct value *val,
const struct value_print_options *options)
Index: gdb-8.0/gdb/dwarf2loc.c
===================================================================
--- gdb-8.0.orig/gdb/dwarf2loc.c 2017-08-19 20:04:59.796780604 +0200
+++ gdb-8.0/gdb/dwarf2loc.c 2017-08-19 20:07:00.692911605 +0200
@@ -1826,7 +1826,7 @@
for (; i < c->n_pieces && offset < max_offset; i++)
{
struct dwarf_expr_piece *p = &c->pieces[i];
- size_t this_size_bits, this_size;
+ ULONGEST this_size_bits, this_size;
this_size_bits = p->size - bits_to_skip;
if (this_size_bits > max_offset - offset)
@@ -2073,7 +2073,7 @@
static int
check_pieced_synthetic_pointer (const struct value *value, LONGEST bit_offset,
- int bit_length)
+ LONGEST bit_length)
{
struct piece_closure *c
= (struct piece_closure *) value_computed_closure (value);
@@ -2086,7 +2086,7 @@
for (i = 0; i < c->n_pieces && bit_length > 0; i++)
{
struct dwarf_expr_piece *p = &c->pieces[i];
- size_t this_size_bits = p->size;
+ ULONGEST this_size_bits = p->size;
if (bit_offset > 0)
{
@@ -2194,8 +2194,8 @@
struct type *type;
struct frame_info *frame;
struct dwarf2_locexpr_baton baton;
- int i, bit_length;
- LONGEST bit_offset;
+ int i;
+ LONGEST bit_length, bit_offset;
struct dwarf_expr_piece *piece = NULL;
LONGEST byte_offset;
enum bfd_endian byte_order;
@@ -2212,7 +2212,7 @@
for (i = 0; i < c->n_pieces && bit_length > 0; i++)
{
struct dwarf_expr_piece *p = &c->pieces[i];
- size_t this_size_bits = p->size;
+ ULONGEST this_size_bits = p->size;
if (bit_offset > 0)
{
@@ -2503,9 +2503,9 @@
case DWARF_VALUE_STACK:
{
struct value *value = ctx.fetch (0);
- size_t n = TYPE_LENGTH (value_type (value));
- size_t len = TYPE_LENGTH (subobj_type);
- size_t max = TYPE_LENGTH (type);
+ ULONGEST n = TYPE_LENGTH (value_type (value));
+ ULONGEST len = TYPE_LENGTH (subobj_type);
+ ULONGEST max = TYPE_LENGTH (type);
struct gdbarch *objfile_gdbarch = get_objfile_arch (objfile);
struct cleanup *cleanup;
Index: gdb-8.0/gdb/dwarf2read.c
===================================================================
--- gdb-8.0.orig/gdb/dwarf2read.c 2017-08-19 20:04:59.800780641 +0200
+++ gdb-8.0/gdb/dwarf2read.c 2017-08-19 20:05:10.072876738 +0200
@@ -2064,12 +2064,12 @@
}
static void
-dwarf2_const_value_length_mismatch_complaint (const char *arg1, int arg2,
- int arg3)
+dwarf2_const_value_length_mismatch_complaint (const char *arg1, LONGEST arg2,
+ LONGEST arg3)
{
complaint (&symfile_complaints,
- _("const value length mismatch for '%s', got %d, expected %d"),
- arg1, arg2, arg3);
+ _("const value length mismatch for '%s', got %s, expected %s"),
+ arg1, plongest (arg2), plongest (arg3));
}
static void
@@ -12863,8 +12863,8 @@
object, and then subtract off the number of bits of
the field itself. The result is the bit offset of
the LSB of the field. */
- int anonymous_size;
- int bit_offset = DW_UNSND (attr);
+ LONGEST anonymous_size;
+ LONGEST bit_offset = DW_UNSND (attr);
attr = dwarf2_attr (die, DW_AT_byte_size, cu);
if (attr)
Index: gdb-8.0/gdb/eval.c
===================================================================
--- gdb-8.0.orig/gdb/eval.c 2017-08-19 20:04:59.801780651 +0200
+++ gdb-8.0/gdb/eval.c 2017-08-19 20:05:10.073876748 +0200
@@ -297,7 +297,8 @@
while (--nargs >= 0)
{
struct value *val = NULL;
- int bitpos, bitsize;
+ LONGEST bitpos;
+ int bitsize;
bfd_byte *addr;
fieldno++;
@@ -358,7 +359,7 @@
enum noside noside, LONGEST low_bound, LONGEST high_bound)
{
LONGEST index;
- int element_size = TYPE_LENGTH (value_type (element));
+ LONGEST element_size = TYPE_LENGTH (value_type (element));
if (exp->elts[*pos].opcode == BINOP_COMMA)
{
@@ -802,11 +803,11 @@
/* FIXME: Also mixed integral/booleans, with result an integer. */
{
const struct builtin_type *builtin = builtin_type (gdbarch);
- unsigned int promoted_len1 = TYPE_LENGTH (type1);
- unsigned int promoted_len2 = TYPE_LENGTH (type2);
+ ULONGEST promoted_len1 = TYPE_LENGTH (type1);
+ ULONGEST promoted_len2 = TYPE_LENGTH (type2);
int is_unsigned1 = TYPE_UNSIGNED (type1);
int is_unsigned2 = TYPE_UNSIGNED (type2);
- unsigned int result_len;
+ ULONGEST result_len;
int unsigned_operation;
/* Determine type length and signedness after promotion for
@@ -988,7 +989,7 @@
struct value **argvec;
int code;
int ix;
- long mem_offset;
+ LONGEST mem_offset;
struct type **arg_types;
int save_pos1;
struct symbol *function = NULL;
@@ -1167,7 +1168,7 @@
struct type *range_type = TYPE_INDEX_TYPE (type);
struct type *element_type = TYPE_TARGET_TYPE (type);
struct value *array = allocate_value (expect_type);
- int element_size = TYPE_LENGTH (check_typedef (element_type));
+ LONGEST element_size = TYPE_LENGTH (check_typedef (element_type));
LONGEST low_bound, high_bound, index;
if (get_discrete_bounds (range_type, &low_bound, &high_bound) < 0)
Index: gdb-8.0/gdb/f-lang.c
===================================================================
--- gdb-8.0.orig/gdb/f-lang.c 2017-08-19 20:04:59.801780651 +0200
+++ gdb-8.0/gdb/f-lang.c 2017-08-19 20:05:10.073876748 +0200
@@ -103,7 +103,7 @@
static void
f_printstr (struct ui_file *stream, struct type *type, const gdb_byte *string,
- unsigned int length, const char *encoding, int force_ellipses,
+ ULONGEST length, const char *encoding, int force_ellipses,
const struct value_print_options *options)
{
const char *type_encoding = f_get_encoding (type);
Index: gdb-8.0/gdb/f-lang.h
===================================================================
--- gdb-8.0.orig/gdb/f-lang.h 2017-08-19 20:04:59.802780660 +0200
+++ gdb-8.0/gdb/f-lang.h 2017-08-19 20:05:10.073876748 +0200
@@ -30,7 +30,7 @@
extern void f_print_type (struct type *, const char *, struct ui_file *, int,
int, const struct type_print_options *);
-extern void f_val_print (struct type *, int, CORE_ADDR,
+extern void f_val_print (struct type *, LONGEST, CORE_ADDR,
struct ui_file *, int,
struct value *,
const struct value_print_options *);
Index: gdb-8.0/gdb/f-valprint.c
===================================================================
--- gdb-8.0.orig/gdb/f-valprint.c 2017-08-19 20:04:59.802780660 +0200
+++ gdb-8.0/gdb/f-valprint.c 2017-08-19 20:05:10.073876748 +0200
@@ -38,7 +38,7 @@
static void info_common_command (char *, int);
static void f77_get_dynamic_length_of_aggregate (struct type *);
-int f77_array_offset_tbl[MAX_FORTRAN_DIMS + 1][2];
+LONGEST f77_array_offset_tbl[MAX_FORTRAN_DIMS + 1][2];
/* Array which holds offsets to be applied to get a row's elements
for a given array. Array also holds the size of each subarray. */
@@ -73,8 +73,8 @@
static void
f77_get_dynamic_length_of_aggregate (struct type *type)
{
- int upper_bound = -1;
- int lower_bound = 1;
+ LONGEST upper_bound = -1;
+ LONGEST lower_bound = 1;
/* Recursively go all the way down into a possibly multi-dimensional
F77 array and get the bounds. For simple arrays, this is pretty
@@ -106,7 +106,7 @@
static void
f77_print_array_1 (int nss, int ndimensions, 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,
@@ -115,7 +115,7 @@
struct type *range_type = TYPE_INDEX_TYPE (check_typedef (type));
CORE_ADDR addr = address + embedded_offset;
LONGEST lowerbound, upperbound;
- int i;
+ LONGEST i;
get_discrete_bounds (range_type, &lowerbound, &upperbound);
@@ -177,7 +177,7 @@
static void
f77_print_array (struct type *type, const gdb_byte *valaddr,
- int embedded_offset,
+ LONGEST embedded_offset,
CORE_ADDR address, struct ui_file *stream,
int recurse,
const struct value *val,
@@ -216,7 +216,7 @@
function; they are identical. */
void
-f_val_print (struct type *type, int embedded_offset,
+f_val_print (struct type *type, LONGEST embedded_offset,
CORE_ADDR address, struct ui_file *stream, int recurse,
struct value *original_value,
const struct value_print_options *options)
Index: gdb-8.0/gdb/findvar.c
===================================================================
--- gdb-8.0.orig/gdb/findvar.c 2017-08-19 20:04:59.802780660 +0200
+++ gdb-8.0/gdb/findvar.c 2017-08-19 20:05:10.074876757 +0200
@@ -817,7 +817,7 @@
default_value_from_register (struct gdbarch *gdbarch, struct type *type,
int regnum, struct frame_id frame_id)
{
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
struct value *value = allocate_value (type);
struct frame_info *frame;
@@ -861,7 +861,7 @@
LONGEST offset = 0;
LONGEST reg_offset = value_offset (value);
int regnum = VALUE_REGNUM (value);
- int len = type_length_units (check_typedef (value_type (value)));
+ LONGEST len = type_length_units (check_typedef (value_type (value)));
gdb_assert (VALUE_LVAL (value) == lval_register);
@@ -876,7 +876,7 @@
while (len > 0)
{
struct value *regval = get_frame_register_value (frame, regnum);
- int reg_len = type_length_units (value_type (regval)) - reg_offset;
+ LONGEST reg_len = type_length_units (value_type (regval)) - reg_offset;
/* If the register length is larger than the number of bytes
remaining to copy, then only copy the appropriate bytes. */
Index: gdb-8.0/gdb/frame.c
===================================================================
--- gdb-8.0.orig/gdb/frame.c 2017-08-19 20:04:59.803780669 +0200
+++ gdb-8.0/gdb/frame.c 2017-08-19 20:05:10.074876757 +0200
@@ -1375,7 +1375,7 @@
int
get_frame_register_bytes (struct frame_info *frame, int regnum,
- CORE_ADDR offset, int len, gdb_byte *myaddr,
+ CORE_ADDR offset, LONGEST len, gdb_byte *myaddr,
int *optimizedp, int *unavailablep)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
@@ -1404,7 +1404,7 @@
}
if (len > maxsize)
error (_("Bad debug information detected: "
- "Attempt to read %d bytes from registers."), len);
+ "Attempt to read %s bytes from registers."), plongest (len));
/* Copy the data. */
while (len > 0)
Index: gdb-8.0/gdb/frame.h
===================================================================
--- gdb-8.0.orig/gdb/frame.h 2017-08-19 20:04:59.803780669 +0200
+++ gdb-8.0/gdb/frame.h 2017-08-19 20:05:10.074876757 +0200
@@ -600,7 +600,7 @@
contents are optimized out or unavailable, set *OPTIMIZEDP,
*UNAVAILABLEP accordingly. */
extern int get_frame_register_bytes (struct frame_info *frame, int regnum,
- CORE_ADDR offset, int len,
+ CORE_ADDR offset, LONGEST len,
gdb_byte *myaddr,
int *optimizedp, int *unavailablep);
Index: gdb-8.0/gdb/gdbtypes.c
===================================================================
--- gdb-8.0.orig/gdb/gdbtypes.c 2017-08-19 20:04:59.804780679 +0200
+++ gdb-8.0/gdb/gdbtypes.c 2017-08-19 20:05:10.075876766 +0200
@@ -2807,7 +2807,7 @@
least as long as OBJFILE. */
struct type *
-init_type (struct objfile *objfile, enum type_code code, int length,
+init_type (struct objfile *objfile, enum type_code code, LONGEST length,
const char *name)
{
struct type *type;
@@ -3116,8 +3116,8 @@
static int
is_unique_ancestor_worker (struct type *base, struct type *dclass,
- int *offset,
- const gdb_byte *valaddr, int embedded_offset,
+ LONGEST *offset,
+ const gdb_byte *valaddr, LONGEST embedded_offset,
CORE_ADDR address, struct value *val)
{
int i, count = 0;
@@ -3128,7 +3128,7 @@
for (i = 0; i < TYPE_N_BASECLASSES (dclass) && count < 2; ++i)
{
struct type *iter;
- int this_offset;
+ LONGEST this_offset;
iter = check_typedef (TYPE_BASECLASS (dclass, i));
@@ -3169,7 +3169,7 @@
int
is_unique_ancestor (struct type *base, struct value *val)
{
- int offset = -1;
+ LONGEST offset = -1;
return is_unique_ancestor_worker (base, value_type (val), &offset,
value_contents_for_printing (val),
@@ -4415,7 +4415,7 @@
break;
}
puts_filtered ("\n");
- printfi_filtered (spaces, "length %d\n", TYPE_LENGTH (type));
+ printfi_filtered (spaces, "length %s\n", pulongest (TYPE_LENGTH (type)));
if (TYPE_OBJFILE_OWNED (type))
{
printfi_filtered (spaces, "objfile ");
@@ -4875,7 +4875,7 @@
struct type *
arch_type (struct gdbarch *gdbarch,
- enum type_code code, int length, const char *name)
+ enum type_code code, LONGEST length, const char *name)
{
struct type *type;
Index: gdb-8.0/gdb/gdbtypes.h
===================================================================
--- gdb-8.0.orig/gdb/gdbtypes.h 2017-08-19 20:04:59.805780688 +0200
+++ gdb-8.0/gdb/gdbtypes.h 2017-08-19 20:05:10.076876776 +0200
@@ -787,7 +787,7 @@
type_length_units function should be used in order to get the length
expressed in target addressable memory units. */
- unsigned int length;
+ ULONGEST length;
/* * Core type, shared by a group of qualified types. */
@@ -1665,7 +1665,7 @@
/* * Helper function to construct objfile-owned types. */
-extern struct type *init_type (struct objfile *, enum type_code, int,
+extern struct type *init_type (struct objfile *, enum type_code, LONGEST,
const char *);
extern struct type *init_integer_type (struct objfile *, int, int,
const char *);
@@ -1682,7 +1682,7 @@
struct type *);
/* Helper functions to construct architecture-owned types. */
-extern struct type *arch_type (struct gdbarch *, enum type_code, int,
+extern struct type *arch_type (struct gdbarch *, enum type_code, LONGEST,
const char *);
extern struct type *arch_integer_type (struct gdbarch *, int, int,
const char *);
Index: gdb-8.0/gdb/gnu-v2-abi.c
===================================================================
--- gdb-8.0.orig/gdb/gnu-v2-abi.c 2017-08-19 20:04:59.805780688 +0200
+++ gdb-8.0/gdb/gnu-v2-abi.c 2017-08-19 20:05:10.076876776 +0200
@@ -82,7 +82,7 @@
TYPE is the type in which F is located. */
static struct value *
gnuv2_virtual_fn_field (struct value **arg1p, struct fn_field * f, int j,
- struct type * type, int offset)
+ struct type *type, LONGEST offset)
{
struct value *arg1 = *arg1p;
struct type *type1 = check_typedef (value_type (arg1));
@@ -338,7 +338,7 @@
target). The result is the offset of the baseclass value relative
to (the address of)(ARG) + OFFSET. */
-static int
+static LONGEST
gnuv2_baseclass_offset (struct type *type, int index,
const bfd_byte *valaddr, LONGEST embedded_offset,
CORE_ADDR address, const struct value *val)
@@ -358,8 +358,7 @@
if (vb_match (type, i, basetype))
{
struct type *field_type;
- LONGEST field_offset;
- int field_length;
+ LONGEST field_offset, field_length;
CORE_ADDR addr;
field_type = check_typedef (TYPE_FIELD_TYPE (type, i));
@@ -383,7 +382,7 @@
/* Don't go through baseclass_offset, as that wraps
exceptions, thus, inner exceptions would be wrapped more
than once. */
- int boffset =
+ LONGEST boffset =
gnuv2_baseclass_offset (type, i, valaddr,
embedded_offset, address, val);
Index: gdb-8.0/gdb/gnu-v3-abi.c
===================================================================
--- gdb-8.0.orig/gdb/gnu-v3-abi.c 2017-08-19 20:04:59.806780698 +0200
+++ gdb-8.0/gdb/gnu-v3-abi.c 2017-08-19 20:05:10.077876785 +0200
@@ -109,7 +109,7 @@
{
struct type *t;
struct field *field_list, *field;
- int offset;
+ LONGEST offset;
struct type *void_ptr_type
= builtin_type (arch)->builtin_data_ptr;
@@ -185,7 +185,7 @@
/* Return the offset from the start of the imaginary `struct
gdb_gnu_v3_abi_vtable' object to the vtable's "address point"
(i.e., where objects' virtual table pointers point). */
-static int
+static LONGEST
vtable_address_point_offset (struct gdbarch *gdbarch)
{
struct type *vtable_type
@@ -408,7 +408,7 @@
static struct value *
gnuv3_virtual_fn_field (struct value **value_p,
struct fn_field *f, int j,
- struct type *vfn_base, int offset)
+ struct type *vfn_base, LONGEST offset)
{
struct type *values_type = check_typedef (value_type (*value_p));
struct gdbarch *gdbarch;
@@ -438,7 +438,7 @@
-1 is returned on error. */
-static int
+static LONGEST
gnuv3_baseclass_offset (struct type *type, int index,
const bfd_byte *valaddr, LONGEST embedded_offset,
CORE_ADDR address, const struct value *val)
@@ -447,7 +447,7 @@
struct type *ptr_type;
struct value *vtable;
struct value *vbase_array;
- long int cur_base_offset, base_offset;
+ LONGEST cur_base_offset, base_offset;
/* Determine architecture. */
gdbarch = get_type_arch (type);
@@ -470,7 +470,7 @@
cur_base_offset = cur_base_offset + vtable_address_point_offset (gdbarch);
if ((- cur_base_offset) % TYPE_LENGTH (ptr_type) != 0)
error (_("Misaligned vbase offset."));
- cur_base_offset = cur_base_offset / ((int) TYPE_LENGTH (ptr_type));
+ cur_base_offset = cur_base_offset / ((LONGEST) TYPE_LENGTH (ptr_type));
vtable = gnuv3_get_vtable (gdbarch, type, address + embedded_offset);
gdb_assert (vtable != NULL);
@@ -514,7 +514,7 @@
we're out of luck. */
for (i = 0; i < TYPE_N_BASECLASSES (domain); i++)
{
- int pos;
+ LONGEST pos;
struct type *basetype;
if (BASETYPE_VIA_VIRTUAL (domain, i))
Index: gdb-8.0/gdb/go-lang.h
===================================================================
--- gdb-8.0.orig/gdb/go-lang.h 2017-08-19 20:04:59.806780698 +0200
+++ gdb-8.0/gdb/go-lang.h 2017-08-19 20:05:10.077876785 +0200
@@ -85,7 +85,7 @@
/* Defined in go-valprint.c. */
extern void go_val_print (struct type *type,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
struct value *val,
const struct value_print_options *options);
Index: gdb-8.0/gdb/go-valprint.c
===================================================================
--- gdb-8.0.orig/gdb/go-valprint.c 2017-08-19 20:04:59.806780698 +0200
+++ gdb-8.0/gdb/go-valprint.c 2017-08-19 20:05:10.077876785 +0200
@@ -86,7 +86,7 @@
/* Implements the la_val_print routine for language Go. */
void
-go_val_print (struct type *type, int embedded_offset,
+go_val_print (struct type *type, LONGEST embedded_offset,
CORE_ADDR address, struct ui_file *stream, int recurse,
struct value *val,
const struct value_print_options *options)
Index: gdb-8.0/gdb/language.c
===================================================================
--- gdb-8.0.orig/gdb/language.c 2017-08-19 20:04:59.806780698 +0200
+++ gdb-8.0/gdb/language.c 2017-08-19 20:05:10.077876785 +0200
@@ -753,7 +753,7 @@
static void
unk_lang_printstr (struct ui_file *stream, struct type *type,
- const gdb_byte *string, unsigned int length,
+ const gdb_byte *string, ULONGEST length,
const char *encoding, int force_ellipses,
const struct value_print_options *options)
{
@@ -772,7 +772,7 @@
static void
unk_lang_val_print (struct type *type,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
struct value *val,
const struct value_print_options *options)
Index: gdb-8.0/gdb/language.h
===================================================================
--- gdb-8.0.orig/gdb/language.h 2017-08-19 20:04:59.806780698 +0200
+++ gdb-8.0/gdb/language.h 2017-08-19 20:05:10.077876785 +0200
@@ -197,7 +197,7 @@
struct ui_file * stream);
void (*la_printstr) (struct ui_file * stream, struct type *elttype,
- const gdb_byte *string, unsigned int length,
+ const gdb_byte *string, ULONGEST length,
const char *encoding, int force_ellipses,
const struct value_print_options *);
@@ -235,7 +235,7 @@
printing. */
void (*la_val_print) (struct type *type,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
struct value *val,
const struct value_print_options *options);
Index: gdb-8.0/gdb/m2-lang.c
===================================================================
--- gdb-8.0.orig/gdb/m2-lang.c 2017-08-19 20:04:59.807780707 +0200
+++ gdb-8.0/gdb/m2-lang.c 2017-08-19 20:05:10.078876795 +0200
@@ -104,10 +104,10 @@
static void
m2_printstr (struct ui_file *stream, struct type *type, const gdb_byte *string,
- unsigned int length, const char *encoding, int force_ellipses,
+ ULONGEST length, const char *encoding, int force_ellipses,
const struct value_print_options *options)
{
- unsigned int i;
+ ULONGEST i;
unsigned int things_printed = 0;
int in_quotes = 0;
int need_comma = 0;
@@ -122,9 +122,9 @@
{
/* Position of the character we are examining
to see whether it is repeated. */
- unsigned int rep1;
+ ULONGEST rep1;
/* Number of repetitions we have detected so far. */
- unsigned int reps;
+ ULONGEST reps;
QUIT;
@@ -150,7 +150,7 @@
in_quotes = 0;
}
m2_printchar (string[i], type, stream);
- fprintf_filtered (stream, " <repeats %u times>", reps);
+ fprintf_filtered (stream, " <repeats %s times>", pulongest (reps));
i = rep1 - 1;
things_printed += options->repeat_count_threshold;
need_comma = 1;
Index: gdb-8.0/gdb/m2-lang.h
===================================================================
--- gdb-8.0.orig/gdb/m2-lang.h 2017-08-19 20:04:59.807780707 +0200
+++ gdb-8.0/gdb/m2-lang.h 2017-08-19 20:05:10.078876795 +0200
@@ -34,7 +34,7 @@
extern int m2_is_long_set (struct type *type);
extern int m2_is_unbounded_array (struct type *type);
-extern void m2_val_print (struct type *, int, CORE_ADDR,
+extern void m2_val_print (struct type *, LONGEST, CORE_ADDR,
struct ui_file *, int,
struct value *,
const struct value_print_options *);
Index: gdb-8.0/gdb/m2-typeprint.c
===================================================================
--- gdb-8.0.orig/gdb/m2-typeprint.c 2017-08-19 20:04:59.807780707 +0200
+++ gdb-8.0/gdb/m2-typeprint.c 2017-08-19 20:05:10.078876795 +0200
@@ -234,9 +234,12 @@
m2_print_bounds (TYPE_INDEX_TYPE (type), stream, show, -1, 1);
}
else
- fprintf_filtered (stream, "%d",
- (TYPE_LENGTH (type)
- / TYPE_LENGTH (TYPE_TARGET_TYPE (type))));
+ {
+ ULONGEST val = (TYPE_LENGTH (type)
+ / TYPE_LENGTH (TYPE_TARGET_TYPE (type)));
+
+ fprintf_filtered (stream, "%s", pulongest (val));
+ }
}
fprintf_filtered (stream, "] OF ");
m2_print_type (TYPE_TARGET_TYPE (type), "", stream, show, level, flags);
Index: gdb-8.0/gdb/m2-valprint.c
===================================================================
--- gdb-8.0.orig/gdb/m2-valprint.c 2017-08-19 20:04:59.807780707 +0200
+++ gdb-8.0/gdb/m2-valprint.c 2017-08-19 20:05:10.078876795 +0200
@@ -35,7 +35,7 @@
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,
struct value *val,
const struct value_print_options *options,
@@ -67,7 +67,7 @@
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;
@@ -158,7 +158,7 @@
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)
{
@@ -260,7 +260,7 @@
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,
struct value *val,
const struct value_print_options *options,
@@ -308,13 +308,13 @@
function; they are identical. */
void
-m2_val_print (struct type *type, int embedded_offset,
+m2_val_print (struct type *type, LONGEST embedded_offset,
CORE_ADDR address, struct ui_file *stream, int recurse,
struct value *original_value,
const struct value_print_options *options)
{
struct gdbarch *gdbarch = get_type_arch (type);
- unsigned len;
+ ULONGEST len;
struct type *elttype;
CORE_ADDR addr;
const gdb_byte *valaddr = value_contents_for_printing (original_value);
@@ -340,7 +340,7 @@
elements up to it. */
if (options->stop_print_at_null)
{
- unsigned int temp_len;
+ ULONGEST temp_len;
/* Look for a NULL char. */
for (temp_len = 0;
@@ -416,7 +416,7 @@
{
struct type *range = elttype;
LONGEST low_bound, high_bound;
- int i;
+ LONGEST i;
int need_comma = 0;
fputs_filtered ("{", stream);
Index: gdb-8.0/gdb/memrange.c
===================================================================
--- gdb-8.0.orig/gdb/memrange.c 2017-08-19 20:04:59.807780707 +0200
+++ gdb-8.0/gdb/memrange.c 2017-08-19 20:05:10.078876795 +0200
@@ -22,8 +22,8 @@
#include <algorithm>
int
-mem_ranges_overlap (CORE_ADDR start1, int len1,
- CORE_ADDR start2, int len2)
+mem_ranges_overlap (CORE_ADDR start1, LONGEST len1,
+ CORE_ADDR start2, LONGEST len2)
{
ULONGEST h, l;
Index: gdb-8.0/gdb/memrange.h
===================================================================
--- gdb-8.0.orig/gdb/memrange.h 2017-08-19 20:04:59.808780716 +0200
+++ gdb-8.0/gdb/memrange.h 2017-08-19 20:05:10.079876804 +0200
@@ -30,7 +30,7 @@
CORE_ADDR start;
/* Length of the range. */
- int length;
+ LONGEST length;
};
typedef struct mem_range mem_range_s;
@@ -40,8 +40,8 @@
/* Returns true if the ranges defined by [start1, start1+len1) and
[start2, start2+len2) overlap. */
-extern int mem_ranges_overlap (CORE_ADDR start1, int len1,
- CORE_ADDR start2, int len2);
+extern int mem_ranges_overlap (CORE_ADDR start1, LONGEST len1,
+ CORE_ADDR start2, LONGEST len2);
/* Returns true if ADDR is in RANGE. */
Index: gdb-8.0/gdb/mips-linux-nat.c
===================================================================
--- gdb-8.0.orig/gdb/mips-linux-nat.c 2017-08-19 20:04:59.808780716 +0200
+++ gdb-8.0/gdb/mips-linux-nat.c 2017-08-19 20:05:10.079876804 +0200
@@ -584,7 +584,7 @@
static int
mips_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
- CORE_ADDR addr, int len)
+ CORE_ADDR addr, LONGEST len)
{
struct pt_watch_regs dummy_regs;
int i;
Index: gdb-8.0/gdb/opencl-lang.c
===================================================================
--- gdb-8.0.orig/gdb/opencl-lang.c 2017-08-19 20:04:59.808780716 +0200
+++ gdb-8.0/gdb/opencl-lang.c 2017-08-19 20:05:10.079876804 +0200
@@ -78,11 +78,11 @@
static struct type *
lookup_opencl_vector_type (struct gdbarch *gdbarch, enum type_code code,
- unsigned int el_length, unsigned int flag_unsigned,
+ ULONGEST el_length, unsigned int flag_unsigned,
int n)
{
int i;
- unsigned int length;
+ ULONGEST length;
struct type *type = NULL;
struct type **types = builtin_opencl_type (gdbarch);
@@ -174,7 +174,7 @@
struct type *eltype = TYPE_TARGET_TYPE (check_typedef (value_type (c->val)));
LONGEST offset = value_offset (v);
LONGEST elsize = TYPE_LENGTH (eltype);
- int n, i, j = 0;
+ LONGEST n, i, j = 0;
LONGEST lowb = 0;
LONGEST highb = 0;
@@ -203,7 +203,7 @@
struct type *eltype = TYPE_TARGET_TYPE (check_typedef (value_type (c->val)));
LONGEST offset = value_offset (v);
LONGEST elsize = TYPE_LENGTH (eltype);
- int n, i, j = 0;
+ LONGEST n, i, j = 0;
LONGEST lowb = 0;
LONGEST highb = 0;
@@ -243,17 +243,17 @@
static int
lval_func_check_synthetic_pointer (const struct value *v,
- LONGEST offset, int length)
+ LONGEST offset, LONGEST length)
{
struct lval_closure *c = (struct lval_closure *) value_computed_closure (v);
/* Size of the target type in bits. */
- int elsize =
+ LONGEST elsize =
TYPE_LENGTH (TYPE_TARGET_TYPE (check_typedef (value_type (c->val)))) * 8;
- int startrest = offset % elsize;
- int start = offset / elsize;
- int endrest = (offset + length) % elsize;
- int end = (offset + length) / elsize;
- int i;
+ LONGEST startrest = offset % elsize;
+ LONGEST start = offset / elsize;
+ LONGEST endrest = (offset + length) % elsize;
+ LONGEST end = (offset + length) / elsize;
+ LONGEST i;
if (endrest)
end++;
@@ -263,8 +263,8 @@
for (i = start; i < end; i++)
{
- int comp_offset = (i == start) ? startrest : 0;
- int comp_length = (i == end) ? endrest : elsize;
+ LONGEST comp_offset = (i == start) ? startrest : 0;
+ LONGEST comp_length = (i == end) ? endrest : elsize;
if (!value_bits_synthetic_pointer (c->val,
c->indices[i] * elsize + comp_offset,
Index: gdb-8.0/gdb/p-lang.c
===================================================================
--- gdb-8.0.orig/gdb/p-lang.c 2017-08-19 20:04:59.808780716 +0200
+++ gdb-8.0/gdb/p-lang.c 2017-08-19 20:05:10.079876804 +0200
@@ -95,8 +95,8 @@
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,
+ LONGEST *length_size, LONGEST *string_pos,
struct type **char_type,
const char **arrayname)
{
@@ -216,12 +216,12 @@
void
pascal_printstr (struct ui_file *stream, struct type *type,
- const gdb_byte *string, unsigned int length,
+ const gdb_byte *string, ULONGEST length,
const char *encoding, int force_ellipses,
const struct value_print_options *options)
{
enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type));
- unsigned int i;
+ ULONGEST i;
unsigned int things_printed = 0;
int in_quotes = 0;
int need_comma = 0;
@@ -249,9 +249,9 @@
{
/* Position of the character we are examining
to see whether it is repeated. */
- unsigned int rep1;
+ ULONGEST rep1;
/* Number of repetitions we have detected so far. */
- unsigned int reps;
+ ULONGEST reps;
unsigned long int current_char;
QUIT;
@@ -283,7 +283,7 @@
in_quotes = 0;
}
pascal_printchar (current_char, type, stream);
- fprintf_filtered (stream, " <repeats %u times>", reps);
+ fprintf_filtered (stream, " <repeats %s times>", pulongest (reps));
i = rep1 - 1;
things_printed += options->repeat_count_threshold;
need_comma = 1;
Index: gdb-8.0/gdb/p-lang.h
===================================================================
--- gdb-8.0.orig/gdb/p-lang.h 2017-08-19 20:04:59.809780726 +0200
+++ gdb-8.0/gdb/p-lang.h 2017-08-19 20:05:10.080876813 +0200
@@ -36,7 +36,7 @@
extern void pascal_print_typedef (struct type *, struct symbol *,
struct ui_file *);
-extern void pascal_val_print (struct type *, int,
+extern void pascal_val_print (struct type *, LONGEST,
CORE_ADDR, struct ui_file *, int,
struct value *,
const struct value_print_options *);
@@ -50,13 +50,13 @@
/* These are in p-lang.c: */
extern int
- is_pascal_string_type (struct type *, int *, int *, int *,
+ is_pascal_string_type (struct type *, LONGEST *, LONGEST *, LONGEST *,
struct type **, const char **);
extern void pascal_printchar (int, struct type *, struct ui_file *);
extern void pascal_printstr (struct ui_file *, struct type *, const gdb_byte *,
- unsigned int, const char *, int,
+ ULONGEST, const char *, int,
const struct value_print_options *);
extern struct type **const (pascal_builtin_types[]);
Index: gdb-8.0/gdb/p-valprint.c
===================================================================
--- gdb-8.0.orig/gdb/p-valprint.c 2017-08-19 20:04:59.809780726 +0200
+++ gdb-8.0/gdb/p-valprint.c 2017-08-19 20:05:10.080876813 +0200
@@ -59,7 +59,7 @@
void
pascal_val_print (struct type *type,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
struct value *original_value,
const struct value_print_options *options)
@@ -70,8 +70,8 @@
unsigned len;
LONGEST low_bound, high_bound;
struct type *elttype;
- unsigned eltlen;
- int length_pos, length_size, string_pos;
+ ULONGEST eltlen;
+ LONGEST length_pos, length_size, string_pos;
struct type *char_type;
CORE_ADDR addr;
int want_space = 0;
Index: gdb-8.0/gdb/ppc-linux-nat.c
===================================================================
--- gdb-8.0.orig/gdb/ppc-linux-nat.c 2017-08-19 20:04:59.809780726 +0200
+++ gdb-8.0/gdb/ppc-linux-nat.c 2017-08-19 20:05:10.080876813 +0200
@@ -1445,7 +1445,7 @@
static int
ppc_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
- CORE_ADDR addr, int len)
+ CORE_ADDR addr, LONGEST len)
{
/* Handle sub-8-byte quantities. */
if (len <= 0)
Index: gdb-8.0/gdb/printcmd.c
===================================================================
--- gdb-8.0.orig/gdb/printcmd.c 2017-08-19 20:04:59.810780735 +0200
+++ gdb-8.0/gdb/printcmd.c 2017-08-19 20:05:10.081876823 +0200
@@ -280,7 +280,7 @@
struct ui_file *stream)
{
struct type *type = check_typedef (value_type (val));
- int len = TYPE_LENGTH (type);
+ LONGEST len = TYPE_LENGTH (type);
if (VALUE_LVAL (val) == lval_memory)
next_address = value_address (val) + len;
@@ -357,7 +357,7 @@
{
struct gdbarch *gdbarch = get_type_arch (type);
LONGEST val_long = 0;
- unsigned int len = TYPE_LENGTH (type);
+ ULONGEST len = TYPE_LENGTH (type);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
/* String printing should go through val_print_scalar_formatted. */
Index: gdb-8.0/gdb/procfs.c
===================================================================
--- gdb-8.0.orig/gdb/procfs.c 2017-08-19 20:04:59.811780744 +0200
+++ gdb-8.0/gdb/procfs.c 2017-08-19 20:05:10.082876832 +0200
@@ -4864,7 +4864,7 @@
static int
procfs_region_ok_for_hw_watchpoint (struct target_ops *self,
- CORE_ADDR addr, int len)
+ CORE_ADDR addr, LONGEST len)
{
/* The man page for proc(4) on Solaris 2.6 and up says that the
system can support "thousands" of hardware watchpoints, but gives
Index: gdb-8.0/gdb/regcache.c
===================================================================
--- gdb-8.0.orig/gdb/regcache.c 2017-08-19 20:04:59.811780744 +0200
+++ gdb-8.0/gdb/regcache.c 2017-08-19 20:05:10.082876832 +0200
@@ -988,7 +988,7 @@
static enum register_status
regcache_xfer_part (struct regcache *regcache, int regnum,
- int offset, int len, void *in, const void *out,
+ LONGEST offset, LONGEST len, void *in, const void *out,
enum register_status (*read) (struct regcache *regcache,
int regnum,
gdb_byte *buf),
@@ -1033,7 +1033,7 @@
enum register_status
regcache_raw_read_part (struct regcache *regcache, int regnum,
- int offset, int len, gdb_byte *buf)
+ int offset, LONGEST len, gdb_byte *buf)
{
struct regcache_descr *descr = regcache->descr;
@@ -1044,7 +1044,7 @@
void
regcache_raw_write_part (struct regcache *regcache, int regnum,
- int offset, int len, const gdb_byte *buf)
+ int offset, LONGEST len, const gdb_byte *buf)
{
struct regcache_descr *descr = regcache->descr;
@@ -1055,7 +1055,7 @@
enum register_status
regcache_cooked_read_part (struct regcache *regcache, int regnum,
- int offset, int len, gdb_byte *buf)
+ LONGEST offset, LONGEST len, gdb_byte *buf)
{
struct regcache_descr *descr = regcache->descr;
@@ -1066,7 +1066,7 @@
void
regcache_cooked_write_part (struct regcache *regcache, int regnum,
- int offset, int len, const gdb_byte *buf)
+ LONGEST offset, LONGEST len, const gdb_byte *buf)
{
struct regcache_descr *descr = regcache->descr;
Index: gdb-8.0/gdb/regcache.h
===================================================================
--- gdb-8.0.orig/gdb/regcache.h 2017-08-19 20:04:59.812780754 +0200
+++ gdb-8.0/gdb/regcache.h 2017-08-19 20:05:10.083876841 +0200
@@ -94,9 +94,9 @@
extern enum register_status
regcache_raw_read_part (struct regcache *regcache, int regnum,
- int offset, int len, gdb_byte *buf);
+ int offset, LONGEST len, gdb_byte *buf);
void regcache_raw_write_part (struct regcache *regcache, int regnum,
- int offset, int len, const gdb_byte *buf);
+ int offset, LONGEST len, const gdb_byte *buf);
void regcache_invalidate (struct regcache *regcache, int regnum);
@@ -133,10 +133,11 @@
write style operations. */
enum register_status regcache_cooked_read_part (struct regcache *regcache,
- int regnum, int offset,
- int len, gdb_byte *buf);
+ int regnum, LONGEST offset,
+ LONGEST len, gdb_byte *buf);
void regcache_cooked_write_part (struct regcache *regcache, int regnum,
- int offset, int len, const gdb_byte *buf);
+ LONGEST offset, LONGEST len,
+ const gdb_byte *buf);
/* Special routines to read/write the PC. */
Index: gdb-8.0/gdb/remote.c
===================================================================
--- gdb-8.0.orig/gdb/remote.c 2017-08-19 20:04:59.814780772 +0200
+++ gdb-8.0/gdb/remote.c 2017-08-19 20:05:10.085876860 +0200
@@ -9915,7 +9915,7 @@
static int
remote_region_ok_for_hw_watchpoint (struct target_ops *self,
- CORE_ADDR addr, int len)
+ CORE_ADDR addr, LONGEST len)
{
if (remote_hw_watchpoint_length_limit == 0)
return 0;
Index: gdb-8.0/gdb/spu-multiarch.c
===================================================================
--- gdb-8.0.orig/gdb/spu-multiarch.c 2017-08-19 20:04:59.814780772 +0200
+++ gdb-8.0/gdb/spu-multiarch.c 2017-08-19 20:05:10.085876860 +0200
@@ -127,7 +127,7 @@
/* Override the to_region_ok_for_hw_watchpoint routine. */
static int
spu_region_ok_for_hw_watchpoint (struct target_ops *self,
- CORE_ADDR addr, int len)
+ CORE_ADDR addr, LONGEST len)
{
struct target_ops *ops_beneath = find_target_beneath (self);
Index: gdb-8.0/gdb/stack.c
===================================================================
--- gdb-8.0.orig/gdb/stack.c 2017-08-19 20:04:59.815780782 +0200
+++ gdb-8.0/gdb/stack.c 2017-08-19 20:05:10.086876869 +0200
@@ -189,7 +189,7 @@
argument (not just the first nameless argument). */
static void
-print_frame_nameless_args (struct frame_info *frame, long start, int num,
+print_frame_nameless_args (struct frame_info *frame, LONGEST start, int num,
int first, struct ui_file *stream)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
@@ -546,7 +546,7 @@
/* Offset of next stack argument beyond the one we have seen that is
at the highest offset, or -1 if we haven't come to a stack
argument yet. */
- long highest_offset = -1;
+ LONGEST highest_offset = -1;
/* Number of ints of arguments that we have printed so far. */
int args_printed = 0;
/* True if we should print arguments, false otherwise. */
@@ -575,8 +575,8 @@
case LOC_ARG:
case LOC_REF_ARG:
{
- long current_offset = SYMBOL_VALUE (sym);
- int arg_size = TYPE_LENGTH (SYMBOL_TYPE (sym));
+ LONGEST current_offset = SYMBOL_VALUE (sym);
+ LONGEST arg_size = TYPE_LENGTH (SYMBOL_TYPE (sym));
/* Compute address of next argument by adding the size of
this argument and rounding to an int boundary. */
@@ -711,7 +711,7 @@
enough about the stack to find them. */
if (num != -1)
{
- long start;
+ LONGEST start;
if (highest_offset == -1)
start = gdbarch_frame_args_skip (get_frame_arch (frame));
Index: gdb-8.0/gdb/symmisc.c
===================================================================
--- gdb-8.0.orig/gdb/symmisc.c 2017-08-19 20:04:59.815780782 +0200
+++ gdb-8.0/gdb/symmisc.c 2017-08-19 20:05:10.086876869 +0200
@@ -604,11 +604,11 @@
case LOC_CONST_BYTES:
{
- unsigned i;
+ ULONGEST i;
struct type *type = check_typedef (SYMBOL_TYPE (symbol));
- fprintf_filtered (outfile, "const %u hex bytes:",
- TYPE_LENGTH (type));
+ fprintf_filtered (outfile, "const %s hex bytes:",
+ pulongest (TYPE_LENGTH (type)));
for (i = 0; i < TYPE_LENGTH (type); i++)
fprintf_filtered (outfile, " %02x",
(unsigned) SYMBOL_VALUE_BYTES (symbol)[i]);
Index: gdb-8.0/gdb/target.c
===================================================================
--- gdb-8.0.orig/gdb/target.c 2017-08-19 20:04:59.816780791 +0200
+++ gdb-8.0/gdb/target.c 2017-08-19 20:05:10.087876879 +0200
@@ -57,7 +57,7 @@
CORE_ADDR, CORE_ADDR, int);
static int default_region_ok_for_hw_watchpoint (struct target_ops *,
- CORE_ADDR, int);
+ CORE_ADDR, LONGEST);
static void default_rcmd (struct target_ops *, const char *, struct ui_file *);
@@ -3228,7 +3228,7 @@
static int
default_region_ok_for_hw_watchpoint (struct target_ops *self,
- CORE_ADDR addr, int len)
+ CORE_ADDR addr, LONGEST len)
{
return (len <= gdbarch_ptr_bit (target_gdbarch ()) / TARGET_CHAR_BIT);
}
Index: gdb-8.0/gdb/target.h
===================================================================
--- gdb-8.0.orig/gdb/target.h 2017-08-19 20:04:59.816780791 +0200
+++ gdb-8.0/gdb/target.h 2017-08-19 20:05:10.088876888 +0200
@@ -555,7 +555,7 @@
/* Documentation of this routine is provided with the corresponding
target_* macro. */
int (*to_region_ok_for_hw_watchpoint) (struct target_ops *,
- CORE_ADDR, int)
+ CORE_ADDR, LONGEST)
TARGET_DEFAULT_FUNC (default_region_ok_for_hw_watchpoint);
int (*to_can_accel_watchpoint_condition) (struct target_ops *,
Index: gdb-8.0/gdb/tracepoint.c
===================================================================
--- gdb-8.0.orig/gdb/tracepoint.c 2017-08-19 20:04:59.817780800 +0200
+++ gdb-8.0/gdb/tracepoint.c 2017-08-19 20:05:10.088876888 +0200
@@ -904,10 +904,10 @@
void
collection_list::add_memrange (struct gdbarch *gdbarch,
int type, bfd_signed_vma base,
- unsigned long len)
+ ULONGEST len)
{
if (info_verbose)
- printf_filtered ("(%d,%s,%ld)\n", type, paddress (gdbarch, base), len);
+ printf_filtered ("(%d,%s,%s)\n", type, paddress (gdbarch, base), pulongest (len));
/* type: memrange_absolute == memory, other n == basereg */
/* base: addr if memory, offset if reg relative. */
@@ -927,7 +927,7 @@
CORE_ADDR scope,
int trace_string)
{
- unsigned long len;
+ ULONGEST len;
unsigned int reg;
bfd_signed_vma offset;
int treat_as_expr = 0;
@@ -948,8 +948,8 @@
offset = SYMBOL_VALUE_ADDRESS (sym);
if (info_verbose)
{
- printf_filtered ("LOC_STATIC %s: collect %ld bytes at %s.\n",
- SYMBOL_PRINT_NAME (sym), len,
+ printf_filtered ("LOC_STATIC %s: collect %s bytes at %s.\n",
+ SYMBOL_PRINT_NAME (sym), pulongest (len),
paddress (gdbarch, offset));
}
/* A struct may be a C++ class with static fields, go to general
@@ -981,9 +981,9 @@
offset = frame_offset + SYMBOL_VALUE (sym);
if (info_verbose)
{
- printf_filtered ("LOC_LOCAL %s: Collect %ld bytes at offset %s"
+ printf_filtered ("LOC_LOCAL %s: Collect %s bytes at offset %s"
" from frame ptr reg %d\n",
- SYMBOL_PRINT_NAME (sym), len,
+ SYMBOL_PRINT_NAME (sym), pulongest (len),
paddress (gdbarch, offset), reg);
}
add_memrange (gdbarch, reg, offset, len);
@@ -993,9 +993,9 @@
offset = 0;
if (info_verbose)
{
- printf_filtered ("LOC_REGPARM_ADDR %s: Collect %ld bytes at offset %s"
+ printf_filtered ("LOC_REGPARM_ADDR %s: Collect %s bytes at offset %s"
" from reg %d\n",
- SYMBOL_PRINT_NAME (sym), len,
+ SYMBOL_PRINT_NAME (sym), pulongest (len),
paddress (gdbarch, offset), reg);
}
add_memrange (gdbarch, reg, offset, len);
@@ -1005,9 +1005,9 @@
offset = frame_offset + SYMBOL_VALUE (sym);
if (info_verbose)
{
- printf_filtered ("LOC_LOCAL %s: Collect %ld bytes at offset %s"
+ printf_filtered ("LOC_LOCAL %s: Collect %s bytes at offset %s"
" from frame ptr reg %d\n",
- SYMBOL_PRINT_NAME (sym), len,
+ SYMBOL_PRINT_NAME (sym), pulongest (len),
paddress (gdbarch, offset), reg);
}
add_memrange (gdbarch, reg, offset, len);
@@ -2585,7 +2585,8 @@
const char *symname;
char *save_args = args;
struct block_iterator iter;
- int j, count = 0;
+ int count = 0;
+ LONGEST j;
struct gdbarch *gdbarch;
int regno;
@@ -2727,8 +2728,11 @@
}
}
if (SYMBOL_TYPE (sym))
- printf_filtered (", length %d.\n",
- TYPE_LENGTH (check_typedef (SYMBOL_TYPE (sym))));
+ {
+ ULONGEST len = TYPE_LENGTH (check_typedef (SYMBOL_TYPE (sym)));
+
+ printf_filtered (", length %s.\n", pulongest (len));
+ }
}
if (BLOCK_FUNCTION (block))
break;
Index: gdb-8.0/gdb/valarith.c
===================================================================
--- gdb-8.0.orig/gdb/valarith.c 2017-08-19 20:04:59.818780810 +0200
+++ gdb-8.0/gdb/valarith.c 2017-08-19 20:05:10.089876897 +0200
@@ -188,7 +188,7 @@
to doubles, but no longer does. */
struct value *
-value_subscripted_rvalue (struct value *array, LONGEST index, int lowerbound)
+value_subscripted_rvalue (struct value *array, LONGEST index, LONGEST lowerbound)
{
struct type *array_type = check_typedef (value_type (array));
struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type));
@@ -665,7 +665,7 @@
struct value *inval1;
struct value *inval2;
struct value *outval = NULL;
- int inval1len, inval2len;
+ ssize_t inval1len, inval2len;
int count, idx;
char *ptr;
char inchar;
@@ -1518,7 +1518,7 @@
int
value_logical_not (struct value *arg1)
{
- int len;
+ LONGEST len;
const gdb_byte *p;
struct type *type1;
@@ -1549,11 +1549,11 @@
static int
value_strcmp (struct value *arg1, struct value *arg2)
{
- int len1 = TYPE_LENGTH (value_type (arg1));
- int len2 = TYPE_LENGTH (value_type (arg2));
+ LONGEST len1 = TYPE_LENGTH (value_type (arg1));
+ LONGEST len2 = TYPE_LENGTH (value_type (arg2));
const gdb_byte *s1 = value_contents (arg1);
const gdb_byte *s2 = value_contents (arg2);
- int i, len = len1 < len2 ? len1 : len2;
+ LONGEST i, len = len1 < len2 ? len1 : len2;
for (i = 0; i < len; i++)
{
Index: gdb-8.0/gdb/valops.c
===================================================================
--- gdb-8.0.orig/gdb/valops.c 2017-08-19 20:04:59.819780819 +0200
+++ gdb-8.0/gdb/valops.c 2017-08-19 20:05:10.090876907 +0200
@@ -79,7 +79,7 @@
int, int);
static struct value *value_struct_elt_for_reference (struct type *,
- int, struct type *,
+ LONGEST, struct type *,
const char *,
struct type *,
int, enum noside);
@@ -183,7 +183,7 @@
space. */
struct value *
-value_allocate_space_in_inferior (int len)
+value_allocate_space_in_inferior (LONGEST len)
{
struct objfile *objf;
struct value *val = find_function_in_inferior ("malloc", &objf);
@@ -393,12 +393,12 @@
if (code1 == TYPE_CODE_ARRAY)
{
struct type *element_type = TYPE_TARGET_TYPE (type);
- unsigned element_length = TYPE_LENGTH (check_typedef (element_type));
+ ULONGEST element_length = TYPE_LENGTH (check_typedef (element_type));
if (element_length > 0 && TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type))
{
struct type *range_type = TYPE_INDEX_TYPE (type);
- int val_length = TYPE_LENGTH (type2);
+ LONGEST val_length = TYPE_LENGTH (type2);
LONGEST low_bound, high_bound, new_length;
if (get_discrete_bounds (range_type, &low_bound, &high_bound) < 0)
@@ -1065,7 +1065,7 @@
{
const gdb_byte *dest_buffer;
CORE_ADDR changed_addr;
- int changed_len;
+ LONGEST changed_len;
gdb_byte buffer[sizeof (LONGEST)];
if (value_bitsize (toval))
@@ -3340,7 +3340,7 @@
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, const char *name,
struct type *intype,
int want_address,
@@ -3374,7 +3374,7 @@
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_NORMAL)
return allocate_value (TYPE_FIELD_TYPE (t, i));
else
@@ -3542,7 +3542,7 @@
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;
@@ -3691,7 +3691,7 @@
struct value *
value_full_object (struct value *argp,
struct type *rtype,
- int xfull, int xtop,
+ int xfull, LONGEST xtop,
int xusing_enc)
{
struct type *real_type;
Index: gdb-8.0/gdb/valprint.c
===================================================================
--- gdb-8.0.orig/gdb/valprint.c 2017-08-19 20:04:59.820780828 +0200
+++ gdb-8.0/gdb/valprint.c 2017-08-19 20:05:10.090876907 +0200
@@ -933,7 +933,7 @@
void
generic_val_print (struct type *type,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
struct value *original_value,
const struct value_print_options *options,
@@ -1873,7 +1873,7 @@
void
print_hex_chars (struct ui_file *stream, const gdb_byte *valaddr,
- unsigned len, enum bfd_endian byte_order)
+ ULONGEST len, enum bfd_endian byte_order)
{
const gdb_byte *p;
@@ -1995,17 +1995,17 @@
int recurse,
struct value *val,
const struct value_print_options *options,
- unsigned int i)
+ ULONGEST i)
{
unsigned int things_printed = 0;
- unsigned len;
+ ULONGEST len;
struct type *elttype, *index_type, *base_index_type;
- unsigned eltlen;
+ ULONGEST eltlen;
/* Position of the array element we are examining to see
whether it is repeated. */
- unsigned int rep1;
+ ULONGEST rep1;
/* Number of repetitions we have detected so far. */
- unsigned int reps;
+ ULONGEST reps;
LONGEST low_bound, high_bound;
LONGEST low_pos, high_pos;
@@ -2095,7 +2095,7 @@
address, stream, recurse + 1, val, options,
current_language);
annotate_elt_rep (reps);
- fprintf_filtered (stream, " <repeats %u times>", reps);
+ fprintf_filtered (stream, " <repeats %s times>", pulongest (reps));
annotate_elt_rep_end ();
i = rep1 - 1;
@@ -2747,7 +2747,7 @@
void
generic_printstr (struct ui_file *stream, struct type *type,
- const gdb_byte *string, unsigned int length,
+ const gdb_byte *string, ULONGEST length,
const char *encoding, int force_ellipses,
int quote_char, int c_style_terminator,
const struct value_print_options *options)
Index: gdb-8.0/gdb/valprint.h
===================================================================
--- gdb-8.0.orig/gdb/valprint.h 2017-08-19 20:04:59.820780828 +0200
+++ gdb-8.0/gdb/valprint.h 2017-08-19 20:05:10.090876907 +0200
@@ -119,7 +119,7 @@
CORE_ADDR, struct ui_file *, int,
struct value *,
const struct value_print_options *,
- unsigned int);
+ ULONGEST);
extern void val_print_type_code_int (struct type *, const gdb_byte *,
struct ui_file *);
@@ -141,7 +141,7 @@
unsigned int, enum bfd_endian);
extern void print_hex_chars (struct ui_file *, const gdb_byte *,
- unsigned int, enum bfd_endian);
+ ULONGEST, enum bfd_endian);
extern void print_char_chars (struct ui_file *, struct type *,
const gdb_byte *, unsigned int, enum bfd_endian);
@@ -194,7 +194,7 @@
extern void generic_val_print (struct type *type,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
struct value *original_value,
const struct value_print_options *options,
@@ -204,7 +204,7 @@
int quoter, const char *encoding);
extern void generic_printstr (struct ui_file *stream, struct type *type,
- const gdb_byte *string, unsigned int length,
+ const gdb_byte *string, ULONGEST length,
const char *encoding, int force_ellipses,
int quote_char, int c_style_terminator,
const struct value_print_options *options);
Index: gdb-8.0/gdb/value.c
===================================================================
--- gdb-8.0.orig/gdb/value.c 2017-08-19 20:04:59.821780838 +0200
+++ gdb-8.0/gdb/value.c 2017-08-19 20:05:10.091876916 +0200
@@ -367,7 +367,8 @@
}
int
-value_bits_any_optimized_out (const struct value *value, int bit_offset, int bit_length)
+value_bits_any_optimized_out (const struct value *value, LONGEST bit_offset,
+ LONGEST bit_length)
{
gdb_assert (!value->lazy);
@@ -813,9 +814,9 @@
Return true if the available bits match. */
static int
-value_contents_bits_eq (const struct value *val1, int offset1,
- const struct value *val2, int offset2,
- int length)
+value_contents_bits_eq (const struct value *val1, LONGEST offset1,
+ const struct value *val2, LONGEST offset2,
+ LONGEST length)
{
/* Each array element corresponds to a ranges source (unavailable,
optimized out). '1' is for VAL1, '2' for VAL2. */
@@ -1455,7 +1456,8 @@
the following LENGTH bytes. */
void
-mark_value_bytes_optimized_out (struct value *value, int offset, int length)
+mark_value_bytes_optimized_out (struct value *value, LONGEST offset,
+ LONGEST length)
{
mark_value_bits_optimized_out (value,
offset * TARGET_CHAR_BIT,
Index: gdb-8.0/gdb/value.h
===================================================================
--- gdb-8.0.orig/gdb/value.h 2017-08-19 20:04:59.822780847 +0200
+++ gdb-8.0/gdb/value.h 2017-08-19 20:05:10.092876925 +0200
@@ -246,7 +246,7 @@
/* If non-NULL, this is used to determine whether the indicated bits
of VALUE are a synthetic pointer. */
int (*check_synthetic_pointer) (const struct value *value,
- LONGEST offset, int length);
+ LONGEST offset, LONGEST length);
/* Return a duplicate of VALUE's closure, for use in a new value.
This may simply return the same closure, if VALUE's is
@@ -377,7 +377,8 @@
otherwise. */
extern int value_bits_any_optimized_out (const struct value *value,
- int bit_offset, int bit_length);
+ LONGEST bit_offset,
+ LONGEST bit_length);
/* Like value_optimized_out, but return true iff the whole value is
optimized out. */
@@ -387,7 +388,7 @@
LENGTH bytes as optimized out. */
extern void mark_value_bytes_optimized_out (struct value *value,
- int offset, int length);
+ LONGEST offset, LONGEST length);
/* Mark VALUE's content bits starting at OFFSET and extending for
LENGTH bits as optimized out. */
@@ -819,12 +820,11 @@
int fieldno,
struct type *arg_type);
-
extern struct type *value_rtti_indirect_type (struct value *, int *, LONGEST *,
int *);
extern struct value *value_full_object (struct value *, struct type *, int,
- int, int);
+ LONGEST, int);
extern struct value *value_cast_pointers (struct type *, struct value *, int);
@@ -1113,10 +1113,11 @@
extern struct value *find_function_in_inferior (const char *,
struct objfile **);
-extern struct value *value_allocate_space_in_inferior (int);
+extern struct value *value_allocate_space_in_inferior (LONGEST);
extern struct value *value_subscripted_rvalue (struct value *array,
- LONGEST index, int lowerbound);
+ LONGEST index,
+ LONGEST lowerbound);
/* User function handler. */
Index: gdb-8.0/gdb/s390-linux-nat.c
2014-05-12 18:27:00 +00:00
===================================================================
--- gdb-8.0.orig/gdb/s390-linux-nat.c 2017-08-19 20:04:59.822780847 +0200
+++ gdb-8.0/gdb/s390-linux-nat.c 2017-08-19 20:05:10.092876925 +0200
@@ -900,7 +900,7 @@
2014-05-12 18:27:00 +00:00
static int
s390_region_ok_for_hw_watchpoint (struct target_ops *self,
- CORE_ADDR addr, int cnt)
+ CORE_ADDR addr, LONGEST cnt)
2014-05-12 18:27:00 +00:00
{
return 1;
}
Index: gdb-8.0/gdb/target-delegates.c
===================================================================
--- gdb-8.0.orig/gdb/target-delegates.c 2017-08-19 20:04:59.823780856 +0200
+++ gdb-8.0/gdb/target-delegates.c 2017-08-19 20:05:10.093876935 +0200
@@ -760,14 +760,14 @@
}
static int
-delegate_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2)
+delegate_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, LONGEST arg2)
{
self = self->beneath;
return self->to_region_ok_for_hw_watchpoint (self, arg1, arg2);
}
static int
-debug_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, int arg2)
+debug_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR arg1, LONGEST arg2)
{
int result;
fprintf_unfiltered (gdb_stdlog, "-> %s->to_region_ok_for_hw_watchpoint (...)\n", debug_target.to_shortname);
@@ -777,7 +777,7 @@
fputs_unfiltered (", ", gdb_stdlog);
target_debug_print_CORE_ADDR (arg1);
fputs_unfiltered (", ", gdb_stdlog);
- target_debug_print_int (arg2);
+ target_debug_print_LONGEST (arg2);
fputs_unfiltered (") = ", gdb_stdlog);
target_debug_print_int (result);
fputs_unfiltered ("\n", gdb_stdlog);
Index: gdb-8.0/gdb/aarch64-linux-nat.c
2014-06-24 14:09:02 +00:00
===================================================================
--- gdb-8.0.orig/gdb/aarch64-linux-nat.c 2017-08-19 20:04:59.823780856 +0200
+++ gdb-8.0/gdb/aarch64-linux-nat.c 2017-08-19 20:05:10.093876935 +0200
@@ -708,7 +708,7 @@
2014-06-24 14:09:02 +00:00
static int
aarch64_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
- CORE_ADDR addr, int len)
+ CORE_ADDR addr, LONGEST len)
{
return aarch64_linux_region_ok_for_watchpoint (addr, len);
}
Index: gdb-8.0/gdb/nat/x86-dregs.c
===================================================================
--- gdb-8.0.orig/gdb/nat/x86-dregs.c 2017-08-19 20:04:59.823780856 +0200
+++ gdb-8.0/gdb/nat/x86-dregs.c 2017-08-19 20:05:10.093876935 +0200
@@ -384,7 +384,7 @@
static int
x86_handle_nonaligned_watchpoint (struct x86_debug_reg_state *state,
- x86_wp_op_t what, CORE_ADDR addr, int len,
+ x86_wp_op_t what, CORE_ADDR addr, LONGEST len,
enum target_hw_bp_type type)
{
int retval = 0;
@@ -552,7 +552,7 @@
int
x86_dr_region_ok_for_watchpoint (struct x86_debug_reg_state *state,
- CORE_ADDR addr, int len)
+ CORE_ADDR addr, LONGEST len)
{
int nregs;
Index: gdb-8.0/gdb/compile/compile-c-support.c
===================================================================
--- gdb-8.0.orig/gdb/compile/compile-c-support.c 2017-08-19 20:04:59.824780866 +0200
+++ gdb-8.0/gdb/compile/compile-c-support.c 2017-08-19 20:05:10.093876935 +0200
@@ -309,11 +309,11 @@
default:
fprintf_unfiltered (stream,
- " unsigned char %s[%d]"
+ " unsigned char %s[%s]"
" __attribute__((__aligned__("
"__BIGGEST_ALIGNMENT__)))",
regname,
- TYPE_LENGTH (regtype));
+ pulongest (TYPE_LENGTH (regtype)));
}
fputs_unfiltered (";\n", stream);
Index: gdb-8.0/gdb/nat/x86-dregs.h
===================================================================
--- gdb-8.0.orig/gdb/nat/x86-dregs.h 2017-08-19 20:04:59.824780866 +0200
+++ gdb-8.0/gdb/nat/x86-dregs.h 2017-08-19 20:05:10.094876944 +0200
@@ -116,7 +116,7 @@
/* Return non-zero if we can watch a memory region that starts at
address ADDR and whose length is LEN bytes. */
extern int x86_dr_region_ok_for_watchpoint (struct x86_debug_reg_state *state,
- CORE_ADDR addr, int len);
+ CORE_ADDR addr, LONGEST len);
/* If the inferior has some break/watchpoint that triggered, set the
address associated with that break/watchpoint and return true.
Index: gdb-8.0/gdb/x86-nat.c
===================================================================
--- gdb-8.0.orig/gdb/x86-nat.c 2017-08-19 20:04:59.824780866 +0200
+++ gdb-8.0/gdb/x86-nat.c 2017-08-19 20:05:10.094876944 +0200
@@ -174,7 +174,7 @@
static int
x86_region_ok_for_watchpoint (struct target_ops *self,
- CORE_ADDR addr, int len)
+ CORE_ADDR addr, LONGEST len)
{
struct x86_debug_reg_state *state
= x86_debug_reg_state (ptid_get_pid (inferior_ptid));
Index: gdb-8.0/gdb/rust-lang.c
2015-02-11 15:09:28 +00:00
===================================================================
--- gdb-8.0.orig/gdb/rust-lang.c 2017-08-19 20:04:59.824780866 +0200
+++ gdb-8.0/gdb/rust-lang.c 2017-08-19 20:05:10.094876944 +0200
@@ -439,7 +439,7 @@
static void
rust_printstr (struct ui_file *stream, struct type *type,
- const gdb_byte *string, unsigned int length,
+ const gdb_byte *string, ULONGEST length,
const char *user_encoding, int force_ellipses,
const struct value_print_options *options)
{
@@ -563,7 +563,7 @@
/* la_val_print implementation for Rust. */
static void
-rust_val_print (struct type *type, int embedded_offset,
+rust_val_print (struct type *type, LONGEST embedded_offset,
CORE_ADDR address, struct ui_file *stream, int recurse,
struct value *val,
const struct value_print_options *options)
Index: gdb-8.0/gdb/arch-utils.c
===================================================================
--- gdb-8.0.orig/gdb/arch-utils.c 2017-08-19 20:04:59.825780875 +0200
+++ gdb-8.0/gdb/arch-utils.c 2017-08-19 20:05:10.095876953 +0200
@@ -247,7 +247,7 @@
const struct floatformat **
default_floatformat_for_type (struct gdbarch *gdbarch,
- const char *name, int len)
+ const char *name, LONGEST len)
{
const struct floatformat **format = NULL;
Index: gdb-8.0/gdb/arch-utils.h
===================================================================
--- gdb-8.0.orig/gdb/arch-utils.h 2017-08-19 20:04:59.825780875 +0200
+++ gdb-8.0/gdb/arch-utils.h 2017-08-19 20:05:10.095876953 +0200
@@ -144,7 +144,7 @@
/* Default implementation of gdbarch_floatformat_for_type. */
extern const struct floatformat **
default_floatformat_for_type (struct gdbarch *gdbarch,
- const char *name, int len);
+ const char *name, LONGEST len);
extern CORE_ADDR generic_skip_trampoline_code (struct frame_info *frame,
CORE_ADDR pc);
Index: gdb-8.0/gdb/findcmd.c
===================================================================
--- gdb-8.0.orig/gdb/findcmd.c 2017-08-19 20:04:59.825780875 +0200
+++ gdb-8.0/gdb/findcmd.c 2017-08-19 20:05:10.095876953 +0200
@@ -180,7 +180,7 @@
need to grow the pattern buf. */
pattern_buf_size_need = (pattern_buf_end - pattern_buf
+ std::max (TYPE_LENGTH (t),
- (unsigned) sizeof (int64_t)));
+ (ULONGEST) sizeof (int64_t)));
if (pattern_buf_size_need > pattern_buf_size)
{
size_t current_offset = pattern_buf_end - pattern_buf;
Index: gdb-8.0/gdb/gdbarch.c
===================================================================
--- gdb-8.0.orig/gdb/gdbarch.c 2017-08-19 20:04:59.826780885 +0200
+++ gdb-8.0/gdb/gdbarch.c 2017-08-19 20:05:10.096876963 +0200
@@ -1806,7 +1806,7 @@
}
const struct floatformat **
-gdbarch_floatformat_for_type (struct gdbarch *gdbarch, const char *name, int length)
+gdbarch_floatformat_for_type (struct gdbarch *gdbarch, const char *name, LONGEST length)
{
gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->floatformat_for_type != NULL);
Index: gdb-8.0/gdb/gdbarch.h
===================================================================
--- gdb-8.0.orig/gdb/gdbarch.h 2017-08-19 20:04:59.826780885 +0200
+++ gdb-8.0/gdb/gdbarch.h 2017-08-19 20:05:10.096876963 +0200
@@ -203,8 +203,8 @@
NAME, if non-NULL, is the type name, which may be used to distinguish
different target formats of the same length. */
-typedef const struct floatformat ** (gdbarch_floatformat_for_type_ftype) (struct gdbarch *gdbarch, const char *name, int length);
-extern const struct floatformat ** gdbarch_floatformat_for_type (struct gdbarch *gdbarch, const char *name, int length);
+typedef const struct floatformat ** (gdbarch_floatformat_for_type_ftype) (struct gdbarch *gdbarch, const char *name, LONGEST length);
+extern const struct floatformat ** gdbarch_floatformat_for_type (struct gdbarch *gdbarch, const char *name, LONGEST length);
extern void set_gdbarch_floatformat_for_type (struct gdbarch *gdbarch, gdbarch_floatformat_for_type_ftype *floatformat_for_type);
/* For most targets, a pointer on the target and its representation as an
Index: gdb-8.0/gdb/gdbarch.sh
===================================================================
--- gdb-8.0.orig/gdb/gdbarch.sh 2017-08-19 20:04:59.827780894 +0200
+++ gdb-8.0/gdb/gdbarch.sh 2017-08-19 20:05:10.097876972 +0200
@@ -392,7 +392,7 @@
# Returns the floating-point format to be used for values of length LENGTH.
# NAME, if non-NULL, is the type name, which may be used to distinguish
# different target formats of the same length.
-m:const struct floatformat **:floatformat_for_type:const char *name, int length:name, length:0:default_floatformat_for_type::0
+m:const struct floatformat **:floatformat_for_type:const char *name, LONGEST length:name, length:0:default_floatformat_for_type::0
# For most targets, a pointer on the target and its representation as an
# address in GDB have the same size and "look the same". For such a
Index: gdb-8.0/gdb/i386-tdep.c
===================================================================
--- gdb-8.0.orig/gdb/i386-tdep.c 2017-08-19 20:04:59.828780903 +0200
+++ gdb-8.0/gdb/i386-tdep.c 2017-08-19 20:05:10.098876982 +0200
@@ -8180,7 +8180,7 @@
const struct floatformat **
i386_floatformat_for_type (struct gdbarch *gdbarch,
- const char *name, int len)
+ const char *name, LONGEST len)
{
if (len == 128 && name)
if (strcmp (name, "__float128") == 0
Index: gdb-8.0/gdb/ppc-linux-tdep.c
===================================================================
--- gdb-8.0.orig/gdb/ppc-linux-tdep.c 2017-08-19 20:04:59.829780913 +0200
+++ gdb-8.0/gdb/ppc-linux-tdep.c 2017-08-19 20:05:10.098876982 +0200
@@ -1632,7 +1632,7 @@
const struct floatformat **
ppc_floatformat_for_type (struct gdbarch *gdbarch,
- const char *name, int len)
+ const char *name, LONGEST len)
{
if (len == 128 && name)
if (strcmp (name, "__float128") == 0
Index: gdb-8.0/gdb/tracepoint.h
===================================================================
--- gdb-8.0.orig/gdb/tracepoint.h 2017-08-19 20:04:59.829780913 +0200
+++ gdb-8.0/gdb/tracepoint.h 2017-08-19 20:05:10.099876991 +0200
@@ -254,7 +254,7 @@
void add_register (unsigned int regno);
void add_memrange (struct gdbarch *gdbarch,
int type, bfd_signed_vma base,
- unsigned long len);
+ ULONGEST len);
void collect_symbol (struct symbol *sym,
struct gdbarch *gdbarch,
long frame_regno, long frame_offset,