http://sourceware.org/ml/gdb-patches/2012-09/msg00631.html Subject: [PATCH 1/4] Expand bitpos and type.length to LONGEST and ULONGEST --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 * 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 * 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-7.12.50.20170226/gdb/ada-lang.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/ada-lang.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/ada-lang.c 2017-02-26 22:04:03.415609774 +0100 @@ -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 *, @@ -701,7 +702,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; @@ -710,7 +711,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; @@ -1757,7 +1758,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); @@ -1823,7 +1824,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); @@ -1858,7 +1859,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); @@ -2048,7 +2049,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; @@ -2208,7 +2209,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; @@ -2262,7 +2263,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)); @@ -2333,7 +2334,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; @@ -2561,7 +2563,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; @@ -2632,7 +2634,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)); @@ -2678,7 +2680,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; @@ -2768,7 +2770,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); @@ -2819,7 +2821,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); @@ -4470,7 +4472,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)); @@ -4554,7 +4556,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; @@ -6754,7 +6756,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, @@ -7235,7 +7237,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; @@ -7247,7 +7249,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), @@ -7274,9 +7276,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; @@ -7294,8 +7296,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) @@ -7365,7 +7367,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; @@ -7398,7 +7400,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) { @@ -7416,8 +7418,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 @@ -7426,7 +7428,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); @@ -7438,7 +7440,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; @@ -7528,7 +7530,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; @@ -7834,8 +7837,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); } @@ -8229,10 +8232,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 @@ -8310,7 +8312,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); @@ -8446,11 +8448,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 detected: %d."), - TYPE_LENGTH (type)); + warning (_("Invalid type size for detected: %s."), + pulongest (TYPE_LENGTH (type))); } else { @@ -8917,7 +8919,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-7.12.50.20170226/gdb/ada-lang.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/ada-lang.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/ada-lang.h 2017-02-26 22:04:03.416609782 +0100 @@ -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-7.12.50.20170226/gdb/ada-typeprint.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/ada-typeprint.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/ada-typeprint.c 2017-02-26 22:04:03.416609782 +0100 @@ -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-7.12.50.20170226/gdb/ada-valprint.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/ada-valprint.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/ada-valprint.c 2017-02-26 22:04:03.417609789 +0100 @@ -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, _(" "), reps); + fprintf_filtered (stream, _(" "), + 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; @@ -1069,7 +1070,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, @@ -1153,7 +1154,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-7.12.50.20170226/gdb/annotate.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/annotate.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/annotate.c 2017-02-26 22:04:03.417609789 +0100 @@ -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-7.12.50.20170226/gdb/annotate.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/annotate.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/annotate.h 2017-02-26 22:04:03.417609789 +0100 @@ -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-7.12.50.20170226/gdb/arm-linux-nat.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/arm-linux-nat.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/arm-linux-nat.c 2017-02-26 22:04:03.417609789 +0100 @@ -1065,7 +1065,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-7.12.50.20170226/gdb/ax-gdb.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/ax-gdb.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/ax-gdb.c 2017-02-26 22:04:03.418609796 +0100 @@ -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); @@ -136,15 +136,16 @@ static void gen_address_of (struct agent_expr *, struct axs_value *); static void gen_bitfield_ref (struct expression *exp, struct agent_expr *ax, struct axs_value *value, - struct type *type, int start, int end); + struct type *type, LONGEST start, LONGEST end); static void gen_primitive_field (struct expression *exp, struct agent_expr *ax, struct axs_value *value, - int offset, int fieldno, struct type *type); + LONGEST offset, int fieldno, + struct type *type); static int gen_struct_ref_recursive (struct expression *exp, struct agent_expr *ax, struct axs_value *value, - char *field, int offset, + char *field, LONGEST offset, struct type *type); static void gen_struct_ref (struct expression *exp, struct agent_expr *ax, struct axs_value *value, @@ -538,7 +539,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) { @@ -592,7 +593,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 @@ -1247,7 +1248,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[] @@ -1282,13 +1283,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; @@ -1407,7 +1408,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)) @@ -1432,7 +1433,7 @@ static int gen_struct_ref_recursive (struct expression *exp, struct agent_expr *ax, struct axs_value *value, - char *field, int offset, struct type *type) + char *field, LONGEST offset, struct type *type) { int i, rslt; int nbases = TYPE_N_BASECLASSES (type); Index: gdb-7.12.50.20170226/gdb/ax-general.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/ax-general.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/ax-general.c 2017-02-26 22:04:03.418609796 +0100 @@ -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-7.12.50.20170226/gdb/ax.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/ax.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/ax.h 2017-02-26 22:04:03.419609803 +0100 @@ -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-7.12.50.20170226/gdb/breakpoint.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/breakpoint.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/breakpoint.c 2017-02-26 22:04:03.422609824 +0100 @@ -2226,9 +2226,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; } @@ -7153,7 +7153,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 ()) @@ -11474,7 +11474,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-7.12.50.20170226/gdb/breakpoint.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/breakpoint.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/breakpoint.h 2017-02-26 22:04:03.423609831 +0100 @@ -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-7.12.50.20170226/gdb/c-lang.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/c-lang.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/c-lang.c 2017-02-26 22:04:03.423609831 +0100 @@ -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-7.12.50.20170226/gdb/c-lang.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/c-lang.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/c-lang.h 2017-02-26 22:04:03.423609831 +0100 @@ -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-7.12.50.20170226/gdb/c-valprint.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/c-valprint.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/c-valprint.c 2017-02-26 22:04:03.424609838 +0100 @@ -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-7.12.50.20170226/gdb/cp-abi.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/cp-abi.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/cp-abi.c 2017-02-26 22:04:03.424609838 +0100 @@ -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-7.12.50.20170226/gdb/cp-abi.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/cp-abi.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/cp-abi.h 2017-02-26 22:04:03.424609838 +0100 @@ -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-7.12.50.20170226/gdb/cp-valprint.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/cp-valprint.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/cp-valprint.c 2017-02-26 22:04:03.424609838 +0100 @@ -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-7.12.50.20170226/gdb/d-lang.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/d-lang.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/d-lang.h 2017-02-26 22:04:03.424609838 +0100 @@ -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-7.12.50.20170226/gdb/d-valprint.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/d-valprint.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/d-valprint.c 2017-02-26 22:04:03.424609838 +0100 @@ -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-7.12.50.20170226/gdb/dwarf2loc.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/dwarf2loc.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/dwarf2loc.c 2017-02-26 22:04:03.426609852 +0100 @@ -1758,12 +1758,12 @@ read_pieced_value (struct value *v) { int i; - long offset = 0; + LONGEST offset = 0; ULONGEST bits_to_skip; gdb_byte *contents; struct piece_closure *c = (struct piece_closure *) value_computed_closure (v); - size_t type_len; + ULONGEST type_len; size_t buffer_size = 0; std::vector buffer; int bits_big_endian @@ -1787,8 +1787,8 @@ for (i = 0; i < c->n_pieces && offset < type_len; i++) { struct dwarf_expr_piece *p = &c->pieces[i]; - size_t this_size, this_size_bits; - long dest_offset_bits, source_offset_bits, source_offset; + ULONGEST this_size, this_size_bits; + LONGEST dest_offset_bits, source_offset_bits, source_offset; const gdb_byte *intermediate_buffer; /* Compute size, source, and destination offsets for copying, in @@ -1927,12 +1927,12 @@ write_pieced_value (struct value *to, struct value *from) { int i; - long offset = 0; + LONGEST offset = 0; ULONGEST bits_to_skip; const gdb_byte *contents; struct piece_closure *c = (struct piece_closure *) value_computed_closure (to); - size_t type_len; + ULONGEST type_len; size_t buffer_size = 0; std::vector buffer; int bits_big_endian @@ -1951,8 +1951,8 @@ for (i = 0; i < c->n_pieces && offset < type_len; i++) { struct dwarf_expr_piece *p = &c->pieces[i]; - size_t this_size_bits, this_size; - long dest_offset_bits, source_offset_bits, dest_offset, source_offset; + ULONGEST this_size_bits, this_size; + LONGEST dest_offset_bits, source_offset_bits, dest_offset, source_offset; int need_bitwise; const gdb_byte *source_buffer; @@ -2071,7 +2071,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); @@ -2084,7 +2084,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) { @@ -2186,8 +2186,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; @@ -2204,7 +2204,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) { @@ -2477,7 +2477,7 @@ struct value *value = ctx.fetch (0); gdb_byte *contents; const gdb_byte *val_bytes; - size_t n = TYPE_LENGTH (value_type (value)); + ULONGEST n = TYPE_LENGTH (value_type (value)); struct cleanup *cleanup; if (byte_offset + TYPE_LENGTH (type) > n) Index: gdb-7.12.50.20170226/gdb/dwarf2read.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/dwarf2read.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/dwarf2read.c 2017-02-26 22:04:03.431609888 +0100 @@ -1969,12 +1969,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 @@ -12789,8 +12789,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-7.12.50.20170226/gdb/eval.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/eval.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/eval.c 2017-02-26 22:04:03.431609888 +0100 @@ -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-7.12.50.20170226/gdb/f-lang.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/f-lang.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/f-lang.c 2017-02-26 22:04:03.432609895 +0100 @@ -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-7.12.50.20170226/gdb/f-lang.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/f-lang.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/f-lang.h 2017-02-26 22:04:03.432609895 +0100 @@ -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-7.12.50.20170226/gdb/f-valprint.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/f-valprint.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/f-valprint.c 2017-02-26 22:04:03.432609895 +0100 @@ -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-7.12.50.20170226/gdb/findvar.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/findvar.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/findvar.c 2017-02-26 22:04:03.432609895 +0100 @@ -819,7 +819,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; @@ -863,7 +863,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); @@ -878,7 +878,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-7.12.50.20170226/gdb/frame.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/frame.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/frame.c 2017-02-26 22:04:03.433609902 +0100 @@ -1358,7 +1358,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); @@ -1387,7 +1387,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-7.12.50.20170226/gdb/frame.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/frame.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/frame.h 2017-02-26 22:04:03.433609902 +0100 @@ -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-7.12.50.20170226/gdb/gdbtypes.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/gdbtypes.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/gdbtypes.c 2017-02-26 22:04:03.434609909 +0100 @@ -2782,7 +2782,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; @@ -3091,8 +3091,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; @@ -3103,7 +3103,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)); @@ -3144,7 +3144,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), @@ -4332,7 +4332,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 "); @@ -4792,7 +4792,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-7.12.50.20170226/gdb/gdbtypes.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/gdbtypes.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/gdbtypes.h 2017-02-26 22:04:03.435609916 +0100 @@ -782,7 +782,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. */ @@ -1658,7 +1658,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 *); @@ -1675,7 +1675,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-7.12.50.20170226/gdb/gnu-v2-abi.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/gnu-v2-abi.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/gnu-v2-abi.c 2017-02-26 22:04:03.435609916 +0100 @@ -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-7.12.50.20170226/gdb/gnu-v3-abi.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/gnu-v3-abi.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/gnu-v3-abi.c 2017-02-26 22:04:03.435609916 +0100 @@ -108,7 +108,7 @@ { struct type *t; struct field *field_list, *field; - int offset; + LONGEST offset; struct type *void_ptr_type = builtin_type (arch)->builtin_data_ptr; @@ -184,7 +184,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 @@ -407,7 +407,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; @@ -437,7 +437,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) @@ -446,7 +446,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); @@ -469,7 +469,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); @@ -513,7 +513,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-7.12.50.20170226/gdb/go-lang.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/go-lang.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/go-lang.h 2017-02-26 22:04:03.436609923 +0100 @@ -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-7.12.50.20170226/gdb/go-valprint.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/go-valprint.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/go-valprint.c 2017-02-26 22:04:03.436609923 +0100 @@ -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-7.12.50.20170226/gdb/language.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/language.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/language.c 2017-02-26 22:04:03.436609923 +0100 @@ -754,7 +754,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) { @@ -773,7 +773,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-7.12.50.20170226/gdb/language.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/language.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/language.h 2017-02-26 22:04:03.436609923 +0100 @@ -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-7.12.50.20170226/gdb/m2-lang.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/m2-lang.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/m2-lang.c 2017-02-26 22:04:03.436609923 +0100 @@ -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, " ", reps); + fprintf_filtered (stream, " ", pulongest (reps)); i = rep1 - 1; things_printed += options->repeat_count_threshold; need_comma = 1; Index: gdb-7.12.50.20170226/gdb/m2-lang.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/m2-lang.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/m2-lang.h 2017-02-26 22:04:03.437609930 +0100 @@ -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-7.12.50.20170226/gdb/m2-typeprint.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/m2-typeprint.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/m2-typeprint.c 2017-02-26 22:04:03.437609930 +0100 @@ -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-7.12.50.20170226/gdb/m2-valprint.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/m2-valprint.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/m2-valprint.c 2017-02-26 22:04:03.437609930 +0100 @@ -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-7.12.50.20170226/gdb/memrange.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/memrange.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/memrange.c 2017-02-26 22:04:03.437609930 +0100 @@ -22,8 +22,8 @@ #include 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-7.12.50.20170226/gdb/memrange.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/memrange.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/memrange.h 2017-02-26 22:04:03.437609930 +0100 @@ -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-7.12.50.20170226/gdb/mips-linux-nat.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/mips-linux-nat.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/mips-linux-nat.c 2017-02-26 22:04:03.438609937 +0100 @@ -587,7 +587,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-7.12.50.20170226/gdb/opencl-lang.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/opencl-lang.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/opencl-lang.c 2017-02-26 22:04:03.438609937 +0100 @@ -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-7.12.50.20170226/gdb/p-lang.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/p-lang.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/p-lang.c 2017-02-26 22:04:03.438609937 +0100 @@ -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, " ", reps); + fprintf_filtered (stream, " ", pulongest (reps)); i = rep1 - 1; things_printed += options->repeat_count_threshold; need_comma = 1; Index: gdb-7.12.50.20170226/gdb/p-lang.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/p-lang.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/p-lang.h 2017-02-26 22:04:03.438609937 +0100 @@ -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-7.12.50.20170226/gdb/p-valprint.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/p-valprint.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/p-valprint.c 2017-02-26 22:04:03.439609944 +0100 @@ -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-7.12.50.20170226/gdb/ppc-linux-nat.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/ppc-linux-nat.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/ppc-linux-nat.c 2017-02-26 22:04:03.439609944 +0100 @@ -1449,7 +1449,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-7.12.50.20170226/gdb/printcmd.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/printcmd.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/printcmd.c 2017-02-26 22:04:03.440609951 +0100 @@ -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-7.12.50.20170226/gdb/procfs.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/procfs.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/procfs.c 2017-02-26 22:04:03.441609958 +0100 @@ -4862,7 +4862,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-7.12.50.20170226/gdb/regcache.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/regcache.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/regcache.c 2017-02-26 22:04:03.441609958 +0100 @@ -980,7 +980,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), @@ -1025,7 +1025,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; @@ -1036,7 +1036,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; @@ -1047,7 +1047,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; @@ -1058,7 +1058,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-7.12.50.20170226/gdb/regcache.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/regcache.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/regcache.h 2017-02-26 22:04:03.441609958 +0100 @@ -86,9 +86,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); @@ -125,10 +125,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-7.12.50.20170226/gdb/remote.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/remote.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/remote.c 2017-02-26 22:04:03.444609979 +0100 @@ -9920,7 +9920,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-7.12.50.20170226/gdb/spu-multiarch.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/spu-multiarch.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/spu-multiarch.c 2017-02-26 22:04:03.444609979 +0100 @@ -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-7.12.50.20170226/gdb/stack.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/stack.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/stack.c 2017-02-26 22:04:03.445609987 +0100 @@ -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-7.12.50.20170226/gdb/symmisc.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/symmisc.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/symmisc.c 2017-02-26 22:04:03.445609987 +0100 @@ -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-7.12.50.20170226/gdb/target.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/target.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/target.c 2017-02-26 22:04:03.446609994 +0100 @@ -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-7.12.50.20170226/gdb/target.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/target.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/target.h 2017-02-26 22:04:03.447610001 +0100 @@ -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-7.12.50.20170226/gdb/tracepoint.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/tracepoint.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/tracepoint.c 2017-02-26 22:04:03.448610008 +0100 @@ -908,10 +908,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. */ @@ -931,7 +931,7 @@ CORE_ADDR scope, int trace_string) { - unsigned long len; + ULONGEST len; unsigned int reg; bfd_signed_vma offset; int treat_as_expr = 0; @@ -952,8 +952,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 @@ -985,9 +985,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); @@ -997,9 +997,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); @@ -1009,9 +1009,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); @@ -2583,7 +2583,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; struct event_location *location; @@ -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-7.12.50.20170226/gdb/valarith.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/valarith.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/valarith.c 2017-02-26 22:04:03.448610008 +0100 @@ -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-7.12.50.20170226/gdb/valops.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/valops.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/valops.c 2017-02-26 22:04:03.449610015 +0100 @@ -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); @@ -397,12 +397,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) @@ -1063,7 +1063,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)) @@ -3335,7 +3335,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, @@ -3369,7 +3369,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 @@ -3537,7 +3537,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; @@ -3686,7 +3686,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-7.12.50.20170226/gdb/valprint.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/valprint.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/valprint.c 2017-02-26 22:04:03.450610022 +0100 @@ -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, @@ -1869,7 +1869,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; @@ -1991,17 +1991,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; @@ -2091,7 +2091,7 @@ address, stream, recurse + 1, val, options, current_language); annotate_elt_rep (reps); - fprintf_filtered (stream, " ", reps); + fprintf_filtered (stream, " ", pulongest (reps)); annotate_elt_rep_end (); i = rep1 - 1; @@ -2743,7 +2743,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-7.12.50.20170226/gdb/valprint.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/valprint.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/valprint.h 2017-02-26 22:04:03.450610022 +0100 @@ -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-7.12.50.20170226/gdb/value.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/value.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/value.c 2017-02-26 22:04:03.451610029 +0100 @@ -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. */ @@ -1456,7 +1457,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-7.12.50.20170226/gdb/value.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/value.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/value.h 2017-02-26 22:04:03.451610029 +0100 @@ -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. */ @@ -820,12 +821,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); @@ -1114,10 +1114,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-7.12.50.20170226/gdb/s390-linux-nat.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/s390-linux-nat.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/s390-linux-nat.c 2017-02-26 22:04:03.451610029 +0100 @@ -899,7 +899,7 @@ static int s390_region_ok_for_hw_watchpoint (struct target_ops *self, - CORE_ADDR addr, int cnt) + CORE_ADDR addr, LONGEST cnt) { return 1; } Index: gdb-7.12.50.20170226/gdb/target-delegates.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/target-delegates.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/target-delegates.c 2017-02-26 22:04:03.452610036 +0100 @@ -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-7.12.50.20170226/gdb/aarch64-linux-nat.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/aarch64-linux-nat.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/aarch64-linux-nat.c 2017-02-26 22:04:03.452610036 +0100 @@ -708,7 +708,7 @@ 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-7.12.50.20170226/gdb/nat/x86-dregs.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/nat/x86-dregs.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/nat/x86-dregs.c 2017-02-26 22:04:03.453610043 +0100 @@ -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-7.12.50.20170226/gdb/compile/compile-c-support.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/compile/compile-c-support.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/compile/compile-c-support.c 2017-02-26 22:04:03.453610043 +0100 @@ -307,11 +307,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-7.12.50.20170226/gdb/nat/x86-dregs.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/nat/x86-dregs.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/nat/x86-dregs.h 2017-02-26 22:04:03.453610043 +0100 @@ -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-7.12.50.20170226/gdb/x86-nat.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/x86-nat.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/x86-nat.c 2017-02-26 22:04:03.453610043 +0100 @@ -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-7.12.50.20170226/gdb/rust-lang.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/rust-lang.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/rust-lang.c 2017-02-26 22:04:03.454610050 +0100 @@ -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-7.12.50.20170226/gdb/arch-utils.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/arch-utils.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/arch-utils.c 2017-02-26 22:04:03.454610050 +0100 @@ -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-7.12.50.20170226/gdb/arch-utils.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/arch-utils.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/arch-utils.h 2017-02-26 22:04:03.454610050 +0100 @@ -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-7.12.50.20170226/gdb/findcmd.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/findcmd.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/findcmd.c 2017-02-26 22:04:03.454610050 +0100 @@ -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-7.12.50.20170226/gdb/gdbarch.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/gdbarch.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/gdbarch.c 2017-02-26 22:04:03.455610057 +0100 @@ -1740,7 +1740,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-7.12.50.20170226/gdb/gdbarch.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/gdbarch.h 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/gdbarch.h 2017-02-26 22:04:03.456610064 +0100 @@ -191,8 +191,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-7.12.50.20170226/gdb/gdbarch.sh =================================================================== --- gdb-7.12.50.20170226.orig/gdb/gdbarch.sh 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/gdbarch.sh 2017-02-26 22:04:03.456610064 +0100 @@ -386,7 +386,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-7.12.50.20170226/gdb/i386-tdep.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/i386-tdep.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/i386-tdep.c 2017-02-26 22:04:03.458610079 +0100 @@ -8204,7 +8204,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-7.12.50.20170226/gdb/ppc-linux-tdep.c =================================================================== --- gdb-7.12.50.20170226.orig/gdb/ppc-linux-tdep.c 2017-02-26 21:59:36.043719369 +0100 +++ gdb-7.12.50.20170226/gdb/ppc-linux-tdep.c 2017-02-26 22:04:03.458610079 +0100 @@ -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-7.12.50.20170226/gdb/tracepoint.h =================================================================== --- gdb-7.12.50.20170226.orig/gdb/tracepoint.h 2017-02-26 22:05:14.775114309 +0100 +++ gdb-7.12.50.20170226/gdb/tracepoint.h 2017-02-26 22:05:24.807185239 +0100 @@ -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,