gdb/gdb-rhbz795424-bitpos-20of25.patch
Jan Kratochvil 072837144c Rebase to 7.9-branch snapshot 7.8.90.20150202.
- Temporarily disable dg-extract-results.py to fix gdb.sum sorting.
2015-02-02 23:09:42 +01:00

4524 lines
174 KiB
Diff
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 <siddhesh@redhat.com>
* ada-lang.c (fat_pntr_bounds_bitpos): Return LONGEST.
(fat_pntr_data_bitpos): Likewise.
(desc_bound_bitpos): Likewise.
(constrained_packed_array_type): Expand ELT_BITS parameter to
LONGEST.
(move_bits): Expand parameters SRC_OFFSET and N to LONGEST.
(cond_offset_host): Expand parameter OFFSET to LONGEST.
(cond_offset_target): Likewise.
(ada_type_of_array): Expand ARRAY_BITSIZE to LONGEST.
(decode_constrained_packed_array_type): Expand BITS to LONGEST.
(decode_constrained_packed_array): Expand BIT_POS to LONGEST.
(ada_value_primitive_packed_val): Expand parameter OFFSET to
LONGEST. Expand TARG, NTARG and NEW_OFFSET to LONGEST.
(ada_value_assign): Expand FROM_SIZE to LONGEST.
(value_assign_to_component): Expand BITS to LONGEST.
(ensure_lval): Expand LEN to LONGEST.
(value_pointer): Expand LEN to ULONGEST.
(value_tag_from_contents_and_address): Expand TAG_BYTE_OFFSET to
LONGEST.
(ada_value_primitive_field): Expand parameter OFFSET to LONGEST.
Expand bit_pos to LONGEST.
(find_struct_field): Expand parameters OFFSET and BYTE_OFFSET_P to
LONGEST. Expand BIT_POS and FLD_OFFSET to LONGEST.
(ada_search_struct_field): Expand parameter OFFSET to LONGEST.
Expand VAR_OFFSET to LONGEST.
(ada_index_struct_field): Expand parameters INDEX and OFFSET to
LONGEST.
(ada_index_struct_field_1): Expand parameters INDEX_P and OFFSET
to LONGEST.
(ada_value_struct_elt): Expand BYTE_OFFSET to LONGEST.
(align_value): Return ULONGEST. Expand parameter OFF and
ALIGNMENT to ULONGEST.
(ada_template_to_fixed_record_type_1): Expand OFF, BIT_LEN and
fld_bit_len to LONGEST. Expand FIELD_OFFSET to LONGEST. Use
pulongest function to print TYPE_LENGTH.
(to_fixed_array_type): Expand LEN to LONGEST.
* ada-lang.h (ada_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST.
(ada_printstr): Expand parameter LENGTH to ULONGEST.
(ada_value_primitive_packed_val): Expand parameter OFFSET to
LONGEST.
* ada-typeprint.c (ada_print_type): Use pulongest to print
TYPE_LENGTH.
* ada-valprint.c (val_print_packed_array_elements): Expand ELTLEN
to ULONGEST.
(char_at): Expand parameter I to LONGEST.
(printstr): Expand parameter LENGTH, I, REP1, REPS to ULONGEST.
Use pulongest to format print REPS.
(ada_printstr): Expand parameter LENGTH to LONGEST.
(ada_val_print): Expand parameter EMBEDDED_OFFSET to LONGEST.
(ada_val_print_array): Expand ELTLEN, LEN to ULONGEST and TEMP_LEN
to LONGEST.
(ada_val_print_1): Expand parameter OFFSET to LONGEST.
(print_variant_part): Expand parameters OFFSET and OUTER_OFFSET to
LONGEST.
(print_field_values): Likewise. Expand BIT_POS to LONGEST.
* annotate.c (annotate_array_section_begin): Expand parameter
IDX to LONGEST. Use plongest to format-print IDX.
(annotate_elt_rep): Expand parameter REPCOUNT to ULONGEST. Use
plongest to format-print REPCOUNT.
* annotate.h: Likewise.
* arm-linux-nat.c (arm_linux_region_ok_for_hw_watchpoint):
Expand parameter parameter LEN to LONGEST.
* ax-gdb.c (gen_left_shift): Expand parameter DISTANCE to LONGEST.
(gen_offset): Expand parameter OFFSET to LONGEST.
(gen_bitfield_ref): Expand parameters START, END to LONGEST.
Expand BOUND_START, BOUND_END, OFFSET to LONGEST.
(gen_primitive_field): Expand parameter OFFSET to LONGEST.
(gen_struct_ref_recursive): Likewise.
* ax-general.c (ax_trace_quick): Expand parameter N to LONGEST.
* ax.h (ax_trace_quick): Likewise.
* breakpoint.c (breakpoint_address_match_range): Expand parameter
LEN1 to LONGEST.
(can_use_hardware_watchpoint): Expand LEN to LONGEST.
* breakpoint.h (struct bp_target_info): Expand member LENGTH to
LONGEST.
(struct bp_location): Likewise.
* c-lang.c (c_printstr): Expand parameter LENGTH to ULONGEST.
(evaluate_subexp_c): Expand ELEMENT_SIZE, I to LONGEST.
* c-lang.h (c_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST.
(c_printstr): Expand parameter LENGTH to ULONGEST.
(cp_print_value_fields): Expand parameter OFFSET to LONGEST.
(cp_print_value_fields_rtti): Likewise.
* c-typeprint.c (c_type_print_varspec_suffix): Remove cast down to
int and use plongest to print LONGEST.
* c-valprint.c (c_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST. Expand OFFSET to LONGEST, ELTLEN to ULONGEST.
(c_value_print): Expand TOP to LONGEST.
* cp-abi.c (baseclass_offset): Return LONGEST. Expand parameter
EMBEDDED_OFFSET to LONGEST. Expand RES to LONGEST.
(value_virtual_fn_field): Expand parameter OFFSET to LONGEST.
(value_rtti_type): Expand parameter TOP to point to LONGEST.
* cp-abi.h (value_virtual_fn_field): Expand OFFSET to LONGEST.
(value_rtti_type): Expand TOP to point to LONGEST.
(baseclass_offset): Return LONGEST. Expand parameter
EMBEDDED_OFFSET to LONGEST.
(struct cp_abi_ops): Expand parameter OFFSET for VIRTUAL_FN_FIELD
to LONGEST. Expand parameter TOP to point to LONGEST in
VALUE_RTTI_TYPE. Return LONGEST from BASECLASS_OFFSET and expand
parameter EMBEDDED_OFFSET to LONGEST.
* cp-valprint.c (cp_print_value_fields): Expand parameter OFFSET
to LONGEST. Expand I_OFFSET to LONGEST.
(cp_print_value_fields_rtti): Expand parameter OFFSET to
LONGEST. Expand TOP to LONGEST.
(cp_print_value): Expand parameter OFFSET to LONGEST. Expand
THISOFFSET, BOFFSET to LONGEST.
* d-lang.h (d_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST.
* d-valprint.c (dynamic_array_type): Likewise.
(d_val_print): Likewise.
* doublest.c (floatformat_from_length): Expand parameter LEN to
LONGEST. Use plongest to format string for LONGEST.
* dwarf2loc.c (copy_bitwise): Expand parameters DEST_OFFSET_BITS,
BIT_COUNT to ULONGEST. Rename parameter SOURCE_OFFSET_BITS to
SOURCE_OFFSET and expand to ULONGEST. New variable
SOURCE_OFFSET_BITS.
(read_pieced_value): Expand OFFSET, DEST_OFFSET_BITS,
SOURCE_OFFSET_BITS, SOURCE_OFFSET to LONGEST. Expand TYPE_LEN,
THIS_SIZE, THIS_SIZE_BITS to ULONGEST.
(write_pieced_value): Likewise.
(check_pieced_value_bits): Expand parameters BIT_OFFSET and
BIT_LENGTH to LONGEST. Expand THIS_SIZE_BITS to ULONGEST.
(check_pieced_value_validity): Expand parameters BIT_OFFSET and
BIT_LENGTH to LONGEST.
(check_pieced_synthetic_pointer): Likewise.
(indirect_pieced_value): Expand BIT_LENGTH, BYTE_OFFSET and
BIT_OFFSET to LONGEST.
(dwarf2_evaluate_loc_desc_full): Expand N to ULONGEST.
* dwarf2read.c (dwarf2_const_value_length_mismatch_complaint):
Expand parameters ARG2 and ARG3 to LONGEST. Use plongest to
print ARG2 and ARG3.
(dwarf2_add_field): Expand ANONYMOUS_SIZE, BIT_OFFSET to
LONGEST.
* eval.c (evaluate_struct_tuple): Expand BITPOS to LONGEST.
(init_array_element): Expand ELEMENT_SIZE to LONGEST.
(binop_promote): Expand PROMOTED_LEN1, PROMOTED_LEN2, RESULT_LEN
to ULONGEST.
(evaluate_subexp_standard): Expand MEM_OFFSET, TOP, ELEMENT_SIZE
to LONGEST.
* f-lang.c (f_printstr): Expand parameter LENGTH to ULONGEST.
* f-lang.h (f_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST.
* f-valprint.c (f77_array_offset_tbl): Make LONGEST.
(f77_create_arrayprint_offset_tbl): Expand ELTLEN to LONGEST.
(f77_print_array_1): Expand parameter EMBEDDED_OFFSET to
LONGEST. Expand I to LONGEST.
(f77_print_array): Expand parameter EMBEDDED_OFFSET to LONGEST.
(f_val_print): Likewise. Expand OFFSET to LONGEST.
* findvar.c (default_value_from_register): Expand LEN to LONGEST.
(read_frame_register_value): Expand OFFSET, REG_OFFSET, LEN,
REG_LEN to LONGEST.
* frame.c (get_frame_register_bytes): Expand parameter LEN to
LONGEST.
* frame.h (get_frame_register_bytes): Likewise.
* gdbtypes.c (init_type): Expand parameter LENGTH to LONGEST.
(is_unique_ancestor_worker): Expand parameters OFFSET,
EMBEDDED_OFFSET to LONGEST. Expand THIS_OFFSET to LONGEST.
(is_unique_ancestor): Expand OFFSET to LONGEST.
(recursive_dump_type): Use pulongest to format print TYPE_LENGTH.
Use plongest to format print TYPE_FIELD_BITPOS.
(arch_type): Expand parameter LENGTH to LONGEST.
* gdbtypes.h (struct type.main_type.fld_bnds.fields): Expand
member BITPOS to LONGEST.
(struct type): Expand member LENGTH to ULONGEST.
(init_type): Expand parameter LENGTH to LONGEST.
(arch_type): Likewise.
* gnu-v2-abi.c (gnuv2_virtual_fn_field): Expand parameter OFFSET
to LONGEST.
(gnuv2_value_rtti_type): Expand parameter TOP to point to LONGEST.
(gnuv2_baseclass_offset): Return LONGEST. Expand parameter
EMBEDDED_OFFSET to LONGEST. Expand FIELD_OFFSET, BOFFSET,
FIELD_LENGTH to LONGEST.
* gnu-v3-abi.c (build_gdb_vtable_type): Expand OFFSET to LONGEST.
(vtable_address_point_offset): Return LONGEST.
(gnuv3_rtti_type): Expand parameter TOP_P to point to LONGEST.
(gnuv3_virtual_fn_field): Expand parameter OFFSET to LONGEST.
(gnuv3_baseclass_offset): Return LONGEST. Expand parameter
EMBEDDED_OFSET to LONGEST. Expand CUR_BASE_OFFSET, BASE_OFFSET to
LONGEST.
(gnuv3_find_method_in): Expand POS to LONGEST.
* go-lang.h (go_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST.
* go-valprint.c (print_go_string): Likewise.
(go_val_print): Likewise.
* i386-nat.c (i386_handle_nonaligned_watchpoint): Expand
parameter LEN to LONGEST.
(i386_region_ok_for_watchpoint): Likewise.
* inf-ttrace.c (inf_ttrace_region_ok_for_hw_watchpoint): Expand
parameter LEN to LONGEST.
* jv-lang.c (java_link_class_type): Expand BOFFSET to LONGEST.
(java_printstr): Expand parameter LENGTH to ULONGEST.
* jv-lang.h (java_val_print): Expand parameter EMBEDDED_OFFSET to
LONGEST.
* jv-valprint.c (java_print_value_fields): Expand parameter OFFSET
to LONGEST.
(java_val_print): Expand parameter EMBEDDED_OFFSET to LONGEST.
* language.c (unk_lang_printstr): Expand parameter LENGTH to
ULONGEST.
(unk_lang_val_print): Expand parameter EMBEDDED_OFFSET to LONGEST.
* language.h (language_defn): Expand parameter LENGTH of
LA_PRINTSTR to ULONGEST. Expand parameter EMBEDDED_OFFSET of
LA_VAL_PRINT to LONGEST.
* m2-lang.c (m2_printstr): Expand parameter LENGTH to ULONGEST.
Expand I, REP1, REPS to ULONGEST. Use pulongest to format print
REPS.
* m2-lang.h (m2_val_print): Expand parameter embedded_offset to
LONGEST.
* m2-typeprint.c (m2_array): New variable VAL. Use pulongest to
* format print VAL.
(m2_enum): expand LASTVAL to LONGEST.
* m2-valprint.c (m2_print_long_set): Expand parameter
EMBEDDED_OFFSET to LONGEST.
(m2_print_unbounded_array): Likewise.
(m2_print_array_contents): Likewise.
(m2_val_print): Expand parameter EMBEDDED_OFFSET to LONGEST.
Expand I, LEN, TEMP_LEN to ULONGEST.
* memrange.c (mem_ranges_overlap): Expand parameters LEN1, LEN2 to
LONGEST.
* memrange.h (struct mem_range): Expand member LENGTH to LONGEST.
(mem_ranges_overlap): Expand parameters LEN1, LEN2 to LONGEST.
* mips-linux-nat.c (mips_linux_region_ok_for_hw_watchpoint):
Expand parameter LEN to LONGEST.
* objc-lang.c (objc_printstr): Expand parameter LENGTH to
ULONGEST. Expand I, REP1, REPS to ULONGEST. use pulongest to
format print REPS.
* opencl-lang.c (lookup_opencl_vector_type): Expand parameter
EL_LENGTH to ULONGEST. Expand LENGTH to ULONGEST.
(lval_func_read): Expand OFFSET, N, I, J and ELSIZE to LONGEST.
(lval_func_write): Likewise.
(lval_func_check_validity): Expand parameter LENGTH to LONGEST.
Expand ELSIZE, START, END, I, STARTREST, ENDREST, COMP_OFFSET,
COMP_LENGTH to LONGEST.
(lval_func_check_any_valid): Expand ELSIZE to LONGEST.
(lval_func_check_synthetic_pointer): Expand parameters OFFSET and
LENGTH to LONGEST. Expand ELSIZE, START, END, I, STARTREST,
ENDREST, COMP_LENGTH, COMP_OFFSET to LONGEST.
* p-lang.c (is_pascal_string_type): Expand parameters LENGTH_POS,
STRING_POS, LENGTH_SIZE to point to LONGEST.
(pascal_printstr): Expand parameter LENGTH to ULONGEST. Expand
I, REP1, REPS to ULONGEST. Use pulongest to format print REPS.
* p-lang.h (pascal_val_print): Expand parameter EMBEDDED_OFFSET
to LONGEST.
(is_pascal_string_type): Expand parameters LENGTH_POS, STRING_POS,
LENGTH_SIZE to point to LONGEST.
(pascal_printstr): Expand parameter LENGTH to ULONGEST.
(pascal_object_print_value_fields): Expand parameter OFFSET to
LONGEST.
* p-valprint.c (pascal_val_print): Expand parameter
EMBEDDED_OFFSET to LONGEST. Expand ELTLEN to ULONGEST. Expand
LENGTH_SIZE, LENGTH_POS, STRING_POS to LONGEST.
(pascal_object_print_value_fields): Expand parameter OFFSET to
LONGEST.
(pascal_object_print_value): Likewise. Expand BOFFSET,
THISOFFSET to LONGEST.
* ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint):
Expand parameter LEN to point to LONGEST.
* printcmd.c (print_formatted): Expand LEN to LONGEST.
(print_scalar_formatted): Likewise.
* procfs.c (procfs_region_ok_for_hw_watchpoint): Expand
parameter LEN to LONGEST.
* python/py-prettyprint.c (apply_val_pretty_printer): Expand
parameter EMBEDDED_OFFSET to LONGEST.
* python/python.h (apply_val_pretty_printer): Likewise.
* regcache.c (regcache_xfer_part): Expand parameter OFFSET to
LONGEST.
(regcache_raw_read_part): Likewise.
(regcache_raw_write_part): Likewise.
(regcache_cooked_read_part): Likewise.
(regcache_cooked_write_part): Likewise.
* regcache.h (regcache_raw_read_part): Likewise.
(regcache_raw_write_part): Likewise.
(regcache_cooked_read_part): Likewise.
(regcache_cooked_write_part): Likewise.
* remote.c (remote_region_ok_for_hw_watchpoint): Expand
parameter LEN to LONGEST.
* s390-nat.c (s390_region_ok_for_hw_watchpoint): Expand
parameter LEN to LONGEST.
* spu-multiarch.c (spu_region_ok_for_hw_watchpoint): Expand
parameter len to LONGEST.
* stack.c (print_frame_nameless_args): Expand parameter START to
LONGEST.
(print_frame_args): Expand HIGHEST_OFFSET, CURRENT_OFFSET,
ARG_SIZE, START to LONGEST.
* symmisc.c (print_symbol): Expand I to ULONGEST. Use pulongest
to format print TYPE_LENGTH.
* target.c (default_region_ok_for_hw_watchpoint): Expand parameter
LEN to LONGEST.
(debug_to_region_ok_for_hw_watchpoint): Likewise.
* target.h (struct target_ops): Expand parameter LEN to LONGEST
for TO_REGION_OK_FOR_HW_WATCHPOINT.
* tracepoint.c (add_memrange): Expand parameter LEN to LONGEST.
Use plongest to format print LEN.
(collect_symbol): Expand LEN to ULONGEST. Use pulongest to
format print LEN.
(scope_info): Expand J to LONGEST. Use pulongest to format
print TYPE_LENGTH.
* typeprint.c (whatis_exp): Expand TOP to LONGEST.
* valarith.c (value_subscripted_rvalue): Expand parameters INDEX
and LOWERBOUND to LONGEST. Expand ELT_SIZE, ELT_OFFS to ULONGEST.
(value_concat): expand INVAL1LEN and INVAL2LEN to ssize_t.
(value_logical_not): Expand LEN to LONGEST.
(value_strcmp): Expand LEN1, LEN2, I, LEN to LONGEST.
* valops.c (value_allocate_space_in_inferior): Expand parameter
LEN to LONGEST.
(value_cast_structs): Expand TOP to LONGEST.
(value_cast): Expand ELEMENT_LENGTH to ULONGEST. Expand
VAL_LENGTH to LONGEST.
(dynamic_cast_check_1): Expand parameter EMBEDDED_OFFSET to
LONGEST. Expand OFFSET to LONGEST.
(dynamic_cast_check_2): Likewise.
(value_dynamic_cast): Expand TOP to LONGEST.
(read_value_memory): Expand EMBEDDED_OFFSET to LONGEST.
(value_assign): Expand CHANGED_LEN, OFFSET to LONGEST.
(value_array): Expand TYPELENGTH to ULONGEST.
(update_search_result): Expand parameters LAST_BOFFSET, BOFFSET
to LONGEST.
(do_search_struct_field): Expand parameter OFFSET, LAST_BOFFSET
to LONGEST. Expand NEW_OFFSET, BOFFSET to LONGEST.
(search_struct_field): Expand parameter OFFSET to LONGEST.
Expand BOFFSET to LONGEST.
(search_struct_method): Expand parameter OFFSET to LONGEST.
Expand BASE_OFFSET, THIS_OFFSET to LONGEST.
(find_method_list): Expand parameters OFFSET, BOFFSET to
LONGEST. Expand BASE_OFFSET to LONGEST.
(value_find_oload_method_list): Expand parameter BOFFSET to point
to LONGEST.
(find_overload_match): Expand BOFFSET to LONGEST.
(value_struct_elt_for_reference): Expand parameter OFFSET to
LONGEST. Remove unneeded cast. Expand BASE_OFFSET to LONGEST.
(value_rtti_indirect_type): Expand parameter TOP to point to
LONGEST.
(value_full_object): Expand parameter XTOP to LONGEST. Expand
TOP to LONGEST.
* valprint.c (valprint_check_validity): Expand parameter
EMBEDDED_OFFSET to LONGEST.
(generic_val_print): Likewise.
(val_print): Likewise.
(val_print_scalar_formatted): Likewise.
(print_hex_chars): Expand parameter LEN to ULONGEST.
(val_print_array_elements): Expand parameter EMBEDDED_OFFSET to
LONGEST, I to ULONGEST. Expand LEN, ELTLEN, REP1, REPS to
ULONGEST. Use pulongest to format print REPS.
(generic_printstr): Expand parameter LENGTH to ULONGEST.
* valprint.h (val_print_array_elements): Expand parameter
EMBEDDED_OFFSET to LONGEST.
(val_print_scalar_formatted): Likewise.
(print_hex_chars): Expand parameter LEN to ULONGEST.
(generic_val_print): Expand parameter EMBEDDED_OFFSET to LONGEST.
(generic_printstr): Expand parameter LENGTH to ULONGEST.
* value.c (struct range): Expand members OFFSET, LENGTH to
LONGEST.
(ranges_overlap): Expand parameters OFFSET1, OFFSET2, LEN1 AND
LEN2 to LONGEST.
(range_contain): Expand parameter OFFSET, LENGTH to LONGEST.
(struct value): Expand members OFFSET, EMBEDDED_OFFSET,
POINTED_TO_OFFSET to LONGEST.
(value_bytes_available): Expand parameters OFFSET, LENGTH to
LONGEST.
(mark_value_bytes_unavailable): Likewise.
(find_first_range_overlap): Likewise.
(value_available_contents_eq): Expand parameters OFFSET1, OFFSET2
and LENGTH to LONGEST.
(value_offset): Return LONGEST.
(set_value_offset): Expand parameter OFFSET to LONGEST.
(value_contents_copy_raw): Expand parameters SRC_OFFSET,
DST_OFFSET, LENGTH to ssize_t.
(value_contents_copy): Likewise.
(value_bits_valid): Expand parameters OFFSET, LENGTH to LONGEST.
(value_bits_synthetic_pointer): Likewise.
(value_embedded_offset): Return LONGEST.
(set_value_embedded_offset): Expand parameter VAL to LONGEST.
(value_pointed_to_offset): Return LONGEST.
(set_value_pointed_to_offset): Expand parameter VAL to LONGEST.
(set_internalvar_component): Expand parameter OFFSET to LONGEST.
(value_primitive_field): Likewise. Expand BITPOS, BOFFSET,
CONTAINER_BITSIZE to LONGEST.
(value_fn_field): Expand parameter OFFSET to LONGEST.
(unpack_value_bits_as_long_1): Expand parameters EMBEDDED_OFFSET,
BITPOS to LONGEST. Expand READ_OFFSET to LONGEST.
(unpack_value_bits_as_long): Expand parameter EMBEDED_OFFSET to
LONGEST.
(unpack_value_field_as_long_1): Likewise. Expand BITPOS to
LONGEST.
(unpack_value_field_as_long): Expand parameter EMBEDDED_OFFSET to
LONGEST.
(value_field_bitfield): Likewise.
(modify_field): Expand parameter BITPOS to LONGEST. Expand
BYTESIZE to LONGEST.
* value.h (value_offset): Return LONGEST.
(set_value_offset): Expand parameter OFFSET to LONGEST.
(value_pointed_to_offset): Return LONGEST.
(set_value_pointed_to_offset): Expand parameter VAL to LONGEST.
(value_embedded_offset): Return LONGEST.
(set_value_embedded_offset): Expand parameter VAL to LONGEST.
(struct lval_funcs): Expand parameters OFFSET and LENGTH to
LONGEST for CHECK_VALIDITY. Likewise for CHECK_SYNTHETIC_POINTER.
(valprint_check_validity): Expand parameter EMBEDDED_OFFSET to
LONGEST.
(value_bits_valid): Expand parameters OFFSET, LENGTH to LONGEST.
(value_bits_synthetic_pointer): Likewise.
(value_bytes_available): Likewise.
(mark_value_bytes_unavailable): Likewise.
(value_available_contents_eq): Fix comment. Expand parameters
OFFSET1, OFFSET2, LENGTH to LONGEST.
(read_value_memory): Expand parameter EMBEDDED_OFFSET to
LONGEST.
(unpack_value_bits_as_long): Expand parameter EMBEDDED_OFFSET to
LONGEST.
(unpack_value_field_as_long): Likewise.
(value_field_bitfield): Likewise.
(value_contents_copy_raw): Expand parameters SRC_OFFSET,
DST_OFFSET, LENGTH to LONGEST.
(value_contents_copy): Likewise.
(value_primitive_field): Expand parameter OFFSET to LONGEST.
(value_rtti_indirect_type): Expand parameter TOP to point to
LONGEST.
(value_full_object): Expand parameter XTOP to LONGEST.
(set_internalvar_component): Expand parameter OFFSET to LONGEST.
(value_fn_field): Expand parameter OFFSET to LONGEST.
(modify_field): Expand parameter BITPOS to LONGEST.
(val_print): Expand parameter EMBEDDED_OFFSET to LONGEST.
(value_allocate_space_in_inferior): Expand parameter LEN to
LONGEST.
gdb/testsuite/ChangeLog:
2012-08-05 Siddhesh Poyarekar <siddhesh@redhat.com>
* gdb.base/longest-types.exp: Add test case to get offset of
BUF2.
--MP_/yp5f+W_ED2JtUlSyBi8xujr
Content-Type: text/x-patch
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=bitpos-main.patch
Index: gdb-7.8.90.20150125/gdb/ada-lang.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/ada-lang.c 2015-01-25 08:39:10.810466816 +0100
+++ gdb-7.8.90.20150125/gdb/ada-lang.c 2015-01-25 08:39:14.650483368 +0100
@@ -74,7 +74,7 @@ static struct type *desc_bounds_type (st
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 *);
@@ -82,13 +82,13 @@ static struct type *desc_data_target_typ
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);
@@ -168,7 +168,7 @@ static struct type *static_unwrap_type (
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 *);
@@ -183,7 +183,8 @@ static int ada_is_unconstrained_packed_a
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 *);
@@ -211,14 +212,14 @@ static struct value *value_val_atr (stru
static struct symbol *standard_lookup (const char *, const struct block *,
domain_enum);
-static struct value *ada_search_struct_field (char *, struct value *, int,
+static struct value *ada_search_struct_field (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 *);
@@ -232,7 +233,7 @@ static int ada_is_direct_array_type (str
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 *,
@@ -695,7 +696,7 @@ coerce_unspec_val_to_type (struct value
}
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;
@@ -704,7 +705,7 @@ cond_offset_host (const gdb_byte *valadd
}
static CORE_ADDR
-cond_offset_target (CORE_ADDR address, long offset)
+cond_offset_target (CORE_ADDR address, LONGEST offset)
{
if (address == 0)
return 0;
@@ -1712,7 +1713,7 @@ desc_bounds (struct value *arr)
/* 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);
@@ -1778,7 +1779,7 @@ desc_data (struct value *arr)
/* 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);
@@ -1813,7 +1814,7 @@ desc_one_bound (struct value *bounds, in
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);
@@ -2003,7 +2004,7 @@ ada_type_of_array (struct value *arr, in
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;
@@ -2163,7 +2164,7 @@ decode_packed_array_bitsize (struct type
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;
@@ -2217,7 +2218,7 @@ decode_constrained_packed_array_type (st
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));
@@ -2288,7 +2289,8 @@ decode_constrained_packed_array (struct
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;
@@ -2389,15 +2391,16 @@ has_negatives (struct type *type)
struct value *
ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
- long offset, int bit_offset, int bit_size,
+ LONGEST offset, int bit_offset, int bit_size,
struct type *type)
{
struct value *v;
- int src, /* Index into the source area */
- targ, /* Index into the target area */
- srcBitsLeft, /* Number of source bits left to move */
- nsrc, ntarg, /* Number of source and target bytes */
- unusedLS, /* Number of bits in next significant
+ int src; /* Index into the source area */
+ LONGEST targ; /* Index into the target area */
+ int srcBitsLeft, /* Number of source bits left to move */
+ nsrc; /* Number of source bytes */
+ LONGEST ntarg; /* Number of target bytes */
+ int unusedLS, /* Number of bits in next significant
byte of source that are unused */
accumSize; /* Number of meaningful bits in accum */
unsigned char *bytes; /* First byte containing data to unpack */
@@ -2431,7 +2434,7 @@ ada_value_primitive_packed_val (struct v
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));
@@ -2547,7 +2550,7 @@ ada_value_primitive_packed_val (struct v
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;
@@ -2637,7 +2640,7 @@ ada_value_assign (struct value *toval, s
{
int len = (value_bitpos (toval)
+ bits + HOST_CHAR_BIT - 1) / HOST_CHAR_BIT;
- int from_size;
+ LONGEST from_size;
gdb_byte *buffer = alloca (len);
struct value *val;
CORE_ADDR to_addr = value_address (toval);
@@ -2682,7 +2685,7 @@ value_assign_to_component (struct value
(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);
@@ -4219,7 +4222,7 @@ ensure_lval (struct value *val)
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));
@@ -4293,7 +4296,7 @@ static CORE_ADDR
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 = alloca (len);
CORE_ADDR addr;
@@ -6436,7 +6439,7 @@ value_tag_from_contents_and_address (str
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,
@@ -6901,7 +6904,7 @@ ada_in_variant (LONGEST val, struct type
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;
@@ -6913,7 +6916,7 @@ ada_value_primitive_field (struct value
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),
@@ -6940,9 +6943,9 @@ ada_value_primitive_field (struct value
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;
@@ -6960,8 +6963,8 @@ find_struct_field (const char *name, str
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)
@@ -7031,7 +7034,7 @@ num_visible_fields (struct type *type)
Searches recursively through wrapper fields (e.g., '_parent'). */
static struct value *
-ada_search_struct_field (char *name, struct value *arg, int offset,
+ada_search_struct_field (char *name, struct value *arg, LONGEST offset,
struct type *type)
{
int i;
@@ -7064,7 +7067,7 @@ ada_search_struct_field (char *name, str
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)
{
@@ -7082,8 +7085,8 @@ ada_search_struct_field (char *name, str
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
@@ -7092,7 +7095,7 @@ static struct value *ada_index_struct_fi
* 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);
@@ -7104,7 +7107,7 @@ ada_index_struct_field (int index, struc
* *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;
@@ -7194,7 +7197,8 @@ ada_value_struct_elt (struct value *arg,
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;
@@ -7511,8 +7515,8 @@ ada_coerce_ref (struct value *val0)
/* 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);
}
@@ -7894,10 +7898,9 @@ ada_template_to_fixed_record_type_1 (str
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
@@ -7975,7 +7978,7 @@ ada_template_to_fixed_record_type_1 (str
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);
@@ -8111,11 +8114,11 @@ ada_template_to_fixed_record_type_1 (str
if (TYPE_LENGTH (type) <= 0)
{
if (TYPE_NAME (rtype))
- warning (_("Invalid type size for `%s' detected: %d."),
- TYPE_NAME (rtype), TYPE_LENGTH (type));
+ warning (_("Invalid type size for `%s' detected: %s."),
+ TYPE_NAME (rtype), pulongest (TYPE_LENGTH (type)));
else
- warning (_("Invalid type size for <unnamed> detected: %d."),
- TYPE_LENGTH (type));
+ warning (_("Invalid type size for <unnamed> detected: %s."),
+ pulongest (TYPE_LENGTH (type)));
}
else
{
@@ -8539,7 +8542,8 @@ to_fixed_array_type (struct type *type0,
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.8.90.20150125/gdb/ada-lang.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/ada-lang.h 2015-01-25 08:39:10.812466825 +0100
+++ gdb-7.8.90.20150125/gdb/ada-lang.h 2015-01-25 08:39:14.650483368 +0100
@@ -179,7 +179,7 @@ extern void ada_print_type (struct type
extern void ada_print_typedef (struct type *type, struct symbol *new_symbol,
struct ui_file *stream);
-extern void ada_val_print (struct type *, const gdb_byte *, int, CORE_ADDR,
+extern void ada_val_print (struct type *, const gdb_byte *, LONGEST, CORE_ADDR,
struct ui_file *, int,
const struct value *,
const struct value_print_options *);
@@ -194,7 +194,7 @@ extern void ada_emit_char (int, struct t
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,
@@ -265,7 +265,7 @@ extern int ada_is_constrained_packed_arr
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.8.90.20150125/gdb/ada-typeprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/ada-typeprint.c 2015-01-25 08:39:10.812466825 +0100
+++ gdb-7.8.90.20150125/gdb/ada-typeprint.c 2015-01-25 08:39:14.651483372 +0100
@@ -883,8 +883,8 @@ ada_print_type (struct type *type0, cons
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 ");
@@ -905,7 +905,8 @@ ada_print_type (struct type *type0, cons
}
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.8.90.20150125/gdb/ada-valprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/ada-valprint.c 2015-01-25 08:39:10.814466834 +0100
+++ gdb-7.8.90.20150125/gdb/ada-valprint.c 2015-01-25 08:39:14.651483372 +0100
@@ -33,11 +33,11 @@
#include "objfiles.h"
static int print_field_values (struct type *, const gdb_byte *,
- int,
+ LONGEST,
struct ui_file *, int,
const struct value *,
const struct value_print_options *,
- int, struct type *, int,
+ int, struct type *, LONGEST,
const struct language_defn *);
@@ -129,7 +129,7 @@ val_print_packed_array_elements (struct
unsigned int things_printed = 0;
unsigned len;
struct type *elttype, *index_type;
- unsigned eltlen;
+ ULONGEST eltlen;
unsigned long bitsize = TYPE_FIELD_BITSIZE (type, 0);
struct value *mark = value_mark ();
LONGEST low = 0;
@@ -278,7 +278,7 @@ ada_emit_char (int c, struct type *type,
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)
@@ -440,11 +440,11 @@ ada_print_scalar (struct type *type, LON
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;
@@ -459,9 +459,9 @@ printstr (struct ui_file *stream, struct
{
/* 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;
@@ -492,7 +492,8 @@ printstr (struct ui_file *stream, struct
ada_emit_char (char_at (string, i, type_len, byte_order),
elttype, stream, '\'', type_len);
fputs_filtered ("'", stream);
- fprintf_filtered (stream, _(" <repeats %u times>"), reps);
+ fprintf_filtered (stream, _(" <repeats %s times>"),
+ pulongest (reps));
i = rep1 - 1;
things_printed += options->repeat_count_threshold;
need_comma = 1;
@@ -520,7 +521,7 @@ printstr (struct ui_file *stream, struct
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)
{
@@ -530,12 +531,12 @@ ada_printstr (struct ui_file *stream, st
static int
print_variant_part (struct type *type, int field_num,
- const gdb_byte *valaddr, int offset,
+ const gdb_byte *valaddr, LONGEST offset,
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options,
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);
@@ -571,11 +572,11 @@ print_variant_part (struct type *type, i
static int
print_field_values (struct type *type, const gdb_byte *valaddr,
- int offset, struct ui_file *stream, int recurse,
+ LONGEST offset, struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options,
int comma_needed,
- struct type *outer_type, int outer_offset,
+ struct type *outer_type, LONGEST outer_offset,
const struct language_defn *language)
{
int i, len;
@@ -642,7 +643,7 @@ print_field_values (struct type *type, c
}
else
{
- int bit_pos = TYPE_FIELD_BITPOS (type, i);
+ LONGEST bit_pos = TYPE_FIELD_BITPOS (type, i);
int bit_size = TYPE_FIELD_BITSIZE (type, i);
struct value_print_options opts;
@@ -688,8 +689,8 @@ ada_val_print_string (struct type *type,
{
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.
@@ -708,7 +709,7 @@ ada_val_print_string (struct type *type,
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;
@@ -1073,7 +1074,7 @@ ada_val_print_ref (struct type *type, co
static void
ada_val_print_1 (struct type *type, const gdb_byte *valaddr,
- int offset, CORE_ADDR address,
+ LONGEST offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *original_value,
const struct value_print_options *options,
@@ -1154,7 +1155,7 @@ ada_val_print_1 (struct type *type, cons
void
ada_val_print (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options)
Index: gdb-7.8.90.20150125/gdb/annotate.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/annotate.c 2015-01-25 08:39:10.814466834 +0100
+++ gdb-7.8.90.20150125/gdb/annotate.c 2015-01-25 08:39:14.652483376 +0100
@@ -542,21 +542,21 @@ annotate_frame_end (void)
}
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.8.90.20150125/gdb/annotate.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/annotate.h 2015-01-25 08:39:10.815466838 +0100
+++ gdb-7.8.90.20150125/gdb/annotate.h 2015-01-25 08:39:14.652483376 +0100
@@ -92,8 +92,8 @@ extern void annotate_frame_source_end (v
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.8.90.20150125/gdb/arm-linux-nat.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/arm-linux-nat.c 2015-01-25 08:39:10.815466838 +0100
+++ gdb-7.8.90.20150125/gdb/arm-linux-nat.c 2015-01-25 08:39:14.652483376 +0100
@@ -1186,7 +1186,7 @@ arm_linux_remove_hw_breakpoint (struct t
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.8.90.20150125/gdb/ax-gdb.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/ax-gdb.c 2015-01-25 08:39:10.817466846 +0100
+++ gdb-7.8.90.20150125/gdb/ax-gdb.c 2015-01-25 08:39:14.653483381 +0100
@@ -82,12 +82,12 @@ static void gen_traced_pop (struct gdbar
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);
@@ -135,15 +135,16 @@ static void gen_deref (struct agent_expr
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 @@ gen_fetch (struct agent_expr *ax, struct
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 @@ gen_frame_locals_address (struct gdbarch
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
@@ -1248,7 +1249,7 @@ gen_address_of (struct agent_expr *ax, s
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[]
@@ -1283,13 +1284,13 @@ gen_bitfield_ref (struct expression *exp
/* 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;
@@ -1408,7 +1409,7 @@ gen_bitfield_ref (struct expression *exp
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))
@@ -1433,7 +1434,7 @@ gen_primitive_field (struct expression *
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.8.90.20150125/gdb/ax-general.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/ax-general.c 2015-01-25 08:39:10.818466851 +0100
+++ gdb-7.8.90.20150125/gdb/ax-general.c 2015-01-25 08:39:14.653483381 +0100
@@ -193,7 +193,7 @@ ax_zero_ext (struct agent_expr *x, int n
/* 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.8.90.20150125/gdb/ax.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/ax.h 2015-01-25 08:39:10.818466851 +0100
+++ gdb-7.8.90.20150125/gdb/ax.h 2015-01-25 08:39:14.654483385 +0100
@@ -207,7 +207,7 @@ extern void ax_ext (struct agent_expr *E
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.8.90.20150125/gdb/breakpoint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/breakpoint.c 2015-01-25 08:39:10.824466877 +0100
+++ gdb-7.8.90.20150125/gdb/breakpoint.c 2015-01-25 08:39:14.657483398 +0100
@@ -2191,9 +2191,9 @@ should_be_inserted (struct bp_location *
{
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;
}
@@ -6976,7 +6976,7 @@ breakpoint_address_match (struct address
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 ())
@@ -11700,7 +11700,7 @@ can_use_hardware_watchpoint (struct valu
&& 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.8.90.20150125/gdb/breakpoint.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/breakpoint.h 2015-01-25 08:39:10.826466885 +0100
+++ gdb-7.8.90.20150125/gdb/breakpoint.h 2015-01-25 08:39:14.658483402 +0100
@@ -236,7 +236,7 @@ struct bp_target_info
/* 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
@@ -412,7 +412,7 @@ struct bp_location
/* 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.8.90.20150125/gdb/c-lang.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/c-lang.c 2015-01-25 08:39:10.826466885 +0100
+++ gdb-7.8.90.20150125/gdb/c-lang.c 2015-01-25 08:39:14.658483402 +0100
@@ -187,7 +187,7 @@ c_printchar (int c, struct type *type, s
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)
{
@@ -676,7 +676,7 @@ evaluate_subexp_c (struct type *expect_t
}
else
{
- int i;
+ LONGEST i;
/* Write the terminating character. */
for (i = 0; i < TYPE_LENGTH (type); ++i)
@@ -685,7 +685,7 @@ evaluate_subexp_c (struct type *expect_t
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.8.90.20150125/gdb/c-lang.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/c-lang.h 2015-01-25 08:39:10.827466890 +0100
+++ gdb-7.8.90.20150125/gdb/c-lang.h 2015-01-25 08:39:14.659483406 +0100
@@ -74,7 +74,7 @@ extern void c_print_typedef (struct type
struct ui_file *);
extern void c_val_print (struct type *, const gdb_byte *,
- int, CORE_ADDR,
+ LONGEST, CORE_ADDR,
struct ui_file *, int,
const struct value *,
const struct value_print_options *);
@@ -94,7 +94,7 @@ extern void c_printchar (int, struct typ
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);
@@ -120,14 +120,14 @@ extern void cp_print_class_member (const
struct ui_file *, char *);
extern void cp_print_value_fields (struct type *, struct type *,
- const gdb_byte *, int, CORE_ADDR,
+ const gdb_byte *, LONGEST, CORE_ADDR,
struct ui_file *, int,
const struct value *,
const struct value_print_options *,
struct type **, int);
extern void cp_print_value_fields_rtti (struct type *,
- const gdb_byte *, int, CORE_ADDR,
+ const gdb_byte *, LONGEST, CORE_ADDR,
struct ui_file *, int,
const struct value *,
const struct value_print_options *,
Index: gdb-7.8.90.20150125/gdb/c-valprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/c-valprint.c 2015-01-25 08:39:10.827466890 +0100
+++ gdb-7.8.90.20150125/gdb/c-valprint.c 2015-01-25 08:39:14.659483406 +0100
@@ -132,7 +132,7 @@ static const struct generic_val_print_de
void
c_val_print (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *original_value,
const struct value_print_options *options)
@@ -143,7 +143,7 @@ c_val_print (struct type *type, const gd
unsigned len;
struct type *elttype, *unresolved_elttype;
struct type *unresolved_type = type;
- unsigned eltlen;
+ ULONGEST eltlen;
CORE_ADDR addr;
CHECK_TYPEDEF (type);
@@ -379,9 +379,9 @@ c_val_print (struct type *type, const gd
/* Print vtable entry - we only get here if NOT using
-fvtable_thunks. (Otherwise, look under
TYPE_CODE_PTR.) */
- int offset = (embedded_offset
- + TYPE_FIELD_BITPOS (type,
- VTBL_FNADDR_OFFSET) / 8);
+ LONGEST offset = (embedded_offset
+ + TYPE_FIELD_BITPOS (type,
+ VTBL_FNADDR_OFFSET) / 8);
struct type *field_type = TYPE_FIELD_TYPE (type,
VTBL_FNADDR_OFFSET);
CORE_ADDR addr
@@ -460,7 +460,8 @@ c_value_print (struct value *val, struct
const struct value_print_options *options)
{
struct type *type, *real_type, *val_type;
- int full, top, using_enc;
+ int full, using_enc;
+ LONGEST top;
struct value_print_options opts = *options;
opts.deref_ref = 1;
Index: gdb-7.8.90.20150125/gdb/cp-abi.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/cp-abi.c 2015-01-25 08:39:10.827466890 +0100
+++ gdb-7.8.90.20150125/gdb/cp-abi.c 2015-01-25 08:39:14.659483406 +0100
@@ -64,13 +64,13 @@ is_operator_name (const char *name)
return (*current_cp_abi.is_operator_name) (name);
}
-int
+LONGEST
baseclass_offset (struct type *type, int index, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
const struct value *val)
{
volatile struct gdb_exception ex;
- int res = 0;
+ LONGEST res = 0;
gdb_assert (current_cp_abi.baseclass_offset != NULL);
@@ -94,7 +94,7 @@ baseclass_offset (struct type *type, int
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;
@@ -104,7 +104,7 @@ value_virtual_fn_field (struct value **a
struct type *
value_rtti_type (struct value *v, int *full,
- int *top, int *using_enc)
+ LONGEST *top, int *using_enc)
{
struct type *ret = NULL;
volatile struct gdb_exception e;
Index: gdb-7.8.90.20150125/gdb/cp-abi.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/cp-abi.h 2015-01-25 08:39:10.828466894 +0100
+++ gdb-7.8.90.20150125/gdb/cp-abi.h 2015-01-25 08:39:14.659483406 +0100
@@ -108,7 +108,7 @@ extern struct value *value_virtual_fn_fi
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
@@ -135,7 +135,7 @@ extern struct value *value_virtual_fn_fi
FULL, TOP, and USING_ENC can each be zero, in which case we don't
provide the corresponding piece of information. */
extern struct type *value_rtti_type (struct value *value,
- int *full, int *top,
+ int *full, LONGEST *top,
int *using_enc);
/* Compute the offset of the baseclass which is the INDEXth baseclass
@@ -144,11 +144,11 @@ extern struct type *value_rtti_type (str
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,
- int 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
@@ -227,12 +227,13 @@ struct cp_abi_ops
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,
- int *top, int *using_enc);
- int (*baseclass_offset) (struct type *type, int index,
- const bfd_byte *valaddr, int embedded_offset,
- CORE_ADDR address, const struct value *val);
+ LONGEST *top, int *using_enc);
+ 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.8.90.20150125/gdb/cp-valprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/cp-valprint.c 2015-01-25 08:39:10.829466898 +0100
+++ gdb-7.8.90.20150125/gdb/cp-valprint.c 2015-01-25 08:39:14.660483411 +0100
@@ -80,7 +80,7 @@ static void cp_print_static_field (struc
const struct value_print_options *);
static void cp_print_value (struct type *, struct type *,
- const gdb_byte *, int,
+ const gdb_byte *, LONGEST,
CORE_ADDR, struct ui_file *,
int, const struct value *,
const struct value_print_options *,
@@ -154,7 +154,7 @@ cp_is_vtbl_member (struct type *type)
void
cp_print_value_fields (struct type *type, struct type *real_type,
- const gdb_byte *valaddr, int offset,
+ const gdb_byte *valaddr, LONGEST offset,
CORE_ADDR address, struct ui_file *stream,
int recurse, const struct value *val,
const struct value_print_options *options,
@@ -331,7 +331,7 @@ cp_print_value_fields (struct type *type
}
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))
@@ -414,7 +414,7 @@ cp_print_value_fields (struct type *type
void
cp_print_value_fields_rtti (struct type *type,
- const gdb_byte *valaddr, int offset,
+ const gdb_byte *valaddr, LONGEST offset,
CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *val,
@@ -431,7 +431,8 @@ cp_print_value_fields_rtti (struct type
TARGET_CHAR_BIT * TYPE_LENGTH (type)))
{
struct value *value;
- int full, top, using_enc;
+ int full, using_enc;
+ LONGEST top;
/* Ugh, we have to convert back to a value here. */
value = value_from_contents_and_address (type, valaddr + offset,
@@ -456,7 +457,7 @@ cp_print_value_fields_rtti (struct type
static void
cp_print_value (struct type *type, struct type *real_type,
- const gdb_byte *valaddr, int offset,
+ const gdb_byte *valaddr, LONGEST offset,
CORE_ADDR address, struct ui_file *stream,
int recurse, const struct value *val,
const struct value_print_options *options,
@@ -466,7 +467,7 @@ cp_print_value (struct type *type, struc
= (struct type **) obstack_next_free (&dont_print_vb_obstack);
struct obstack tmp_obstack = dont_print_vb_obstack;
int i, n_baseclasses = TYPE_N_BASECLASSES (type);
- int thisoffset;
+ LONGEST thisoffset;
struct type *thistype;
if (dont_print_vb == 0)
@@ -480,7 +481,7 @@ cp_print_value (struct type *type, struc
for (i = 0; i < n_baseclasses; i++)
{
- int boffset = 0;
+ LONGEST boffset = 0;
int skip;
struct type *baseclass = check_typedef (TYPE_BASECLASS (type, i));
const char *basename = TYPE_NAME (baseclass);
Index: gdb-7.8.90.20150125/gdb/d-lang.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/d-lang.h 2015-01-25 08:39:10.829466898 +0100
+++ gdb-7.8.90.20150125/gdb/d-lang.h 2015-01-25 08:39:14.660483411 +0100
@@ -71,7 +71,7 @@ extern const struct builtin_d_type *buil
/* Defined in d-valprint.c */
extern void d_val_print (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options);
Index: gdb-7.8.90.20150125/gdb/d-valprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/d-valprint.c 2015-01-25 08:39:10.829466898 +0100
+++ gdb-7.8.90.20150125/gdb/d-valprint.c 2015-01-25 08:39:14.660483411 +0100
@@ -29,7 +29,7 @@
static int
dynamic_array_type (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)
@@ -73,9 +73,9 @@ dynamic_array_type (struct type *type, c
/* Implements the la_val_print routine for language D. */
void
-d_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
- CORE_ADDR address, struct ui_file *stream, int recurse,
- const struct value *val,
+d_val_print (struct type *type, const gdb_byte *valaddr,
+ LONGEST embedded_offset, CORE_ADDR address,
+ struct ui_file *stream, int recurse, const struct value *val,
const struct value_print_options *options)
{
int ret;
Index: gdb-7.8.90.20150125/gdb/doublest.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/doublest.c 2015-01-25 08:39:10.830466903 +0100
+++ gdb-7.8.90.20150125/gdb/doublest.c 2015-01-25 08:39:14.661483415 +0100
@@ -765,7 +765,7 @@ floatformat_from_doublest (const struct
but not passed on by GDB. This should be fixed. */
static const struct floatformat *
-floatformat_from_length (struct gdbarch *gdbarch, int len)
+floatformat_from_length (struct gdbarch *gdbarch, LONGEST len)
{
const struct floatformat *format;
@@ -793,8 +793,8 @@ floatformat_from_length (struct gdbarch
else
format = NULL;
if (format == NULL)
- error (_("Unrecognized %d-bit floating-point type."),
- len * TARGET_CHAR_BIT);
+ error (_("Unrecognized %s-bit floating-point type."),
+ plongest (len * TARGET_CHAR_BIT));
return format;
}
Index: gdb-7.8.90.20150125/gdb/dwarf2loc.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/dwarf2loc.c 2015-01-25 08:39:10.833466916 +0100
+++ gdb-7.8.90.20150125/gdb/dwarf2loc.c 2015-01-25 08:40:00.580681336 +0100
@@ -1557,19 +1557,19 @@ insert_bits (unsigned int datum,
BITS_BIG_ENDIAN is taken directly from gdbarch. */
static void
-copy_bitwise (gdb_byte *dest, unsigned int dest_offset_bits,
- const gdb_byte *source, unsigned int source_offset_bits,
- unsigned int bit_count,
+copy_bitwise (gdb_byte *dest, ULONGEST dest_offset_bits,
+ const gdb_byte *source, ULONGEST source_offset,
+ ULONGEST bit_count,
int bits_big_endian)
{
- unsigned int dest_avail;
+ unsigned int dest_avail, source_offset_bits;
int datum;
/* Reduce everything to byte-size pieces. */
dest += dest_offset_bits / 8;
dest_offset_bits %= 8;
- source += source_offset_bits / 8;
- source_offset_bits %= 8;
+ source += source_offset / 8;
+ source_offset_bits = source_offset % 8;
dest_avail = 8 - dest_offset_bits % 8;
@@ -1607,13 +1607,13 @@ static void
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);
struct frame_info *frame = frame_find_by_id (VALUE_FRAME_ID (v));
- size_t type_len;
+ ULONGEST type_len;
size_t buffer_size = 0;
gdb_byte *buffer = NULL;
struct cleanup *cleanup;
@@ -1640,8 +1640,8 @@ read_pieced_value (struct value *v)
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
@@ -1790,13 +1790,13 @@ static void
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);
struct frame_info *frame = frame_find_by_id (VALUE_FRAME_ID (to));
- size_t type_len;
+ ULONGEST type_len;
size_t buffer_size = 0;
gdb_byte *buffer = NULL;
struct cleanup *cleanup;
@@ -1824,8 +1824,8 @@ write_pieced_value (struct value *to, st
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;
@@ -1953,8 +1953,8 @@ write_pieced_value (struct value *to, st
a synthetic pointer. */
static int
-check_pieced_synthetic_pointer (const struct value *value, int bit_offset,
- int bit_length)
+check_pieced_synthetic_pointer (const struct value *value, LONGEST bit_offset,
+ LONGEST bit_length)
{
struct piece_closure *c
= (struct piece_closure *) value_computed_closure (value);
@@ -1967,7 +1967,7 @@ check_pieced_synthetic_pointer (const st
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)
{
@@ -2009,9 +2009,10 @@ indirect_pieced_value (struct value *val
struct type *type;
struct frame_info *frame;
struct dwarf2_locexpr_baton baton;
- int i, bit_offset, bit_length;
+ int i;
+ LONGEST bit_length;
struct dwarf_expr_piece *piece = NULL;
- LONGEST byte_offset;
+ LONGEST byte_offset, bit_offset;
enum bfd_endian byte_order;
type = check_typedef (value_type (value));
@@ -2026,7 +2027,7 @@ indirect_pieced_value (struct value *val
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)
{
@@ -2309,7 +2310,7 @@ dwarf2_evaluate_loc_desc_full (struct ty
struct value *value = dwarf_expr_fetch (ctx, 0);
gdb_byte *contents;
const gdb_byte *val_bytes;
- size_t n = TYPE_LENGTH (value_type (value));
+ ULONGEST n = TYPE_LENGTH (value_type (value));
if (byte_offset + TYPE_LENGTH (type) > n)
invalid_synthetic_pointer ();
Index: gdb-7.8.90.20150125/gdb/dwarf2read.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/dwarf2read.c 2015-01-25 08:39:10.840466946 +0100
+++ gdb-7.8.90.20150125/gdb/dwarf2read.c 2015-01-25 08:39:14.667483441 +0100
@@ -1883,12 +1883,12 @@ dwarf2_complex_location_expr_complaint (
}
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
@@ -12370,8 +12370,8 @@ dwarf2_add_field (struct field_info *fip
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.8.90.20150125/gdb/eval.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/eval.c 2015-01-25 08:39:10.842466954 +0100
+++ gdb-7.8.90.20150125/gdb/eval.c 2015-01-25 08:39:14.668483445 +0100
@@ -314,7 +314,8 @@ evaluate_struct_tuple (struct value *str
while (--nargs >= 0)
{
struct value *val = NULL;
- int bitpos, bitsize;
+ LONGEST bitpos;
+ int bitsize;
bfd_byte *addr;
fieldno++;
@@ -375,7 +376,7 @@ init_array_element (struct value *array,
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)
{
@@ -522,11 +523,11 @@ binop_promote (const struct language_def
/* 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
@@ -709,7 +710,7 @@ evaluate_subexp_standard (struct type *e
struct value **argvec;
int code;
int ix;
- long mem_offset;
+ LONGEST mem_offset;
struct type **arg_types;
int save_pos1;
struct symbol *function = NULL;
@@ -888,7 +889,7 @@ evaluate_subexp_standard (struct type *e
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)
@@ -1887,7 +1888,8 @@ evaluate_subexp_standard (struct type *e
{
struct type *type = value_type (arg1);
struct type *real_type;
- int full, top, using_enc;
+ int full, using_enc;
+ LONGEST top;
struct value_print_options opts;
get_user_print_options (&opts);
Index: gdb-7.8.90.20150125/gdb/f-lang.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/f-lang.c 2015-01-25 08:39:10.843466959 +0100
+++ gdb-7.8.90.20150125/gdb/f-lang.c 2015-01-25 08:39:14.668483445 +0100
@@ -103,7 +103,7 @@ f_printchar (int c, struct type *type, s
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.8.90.20150125/gdb/f-lang.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/f-lang.h 2015-01-25 08:39:10.843466959 +0100
+++ gdb-7.8.90.20150125/gdb/f-lang.h 2015-01-25 08:39:14.668483445 +0100
@@ -30,7 +30,7 @@ extern void f_error (char *); /* Defined
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 *, const gdb_byte *, int, CORE_ADDR,
+extern void f_val_print (struct type *, const gdb_byte *, LONGEST, CORE_ADDR,
struct ui_file *, int,
const struct value *,
const struct value_print_options *);
Index: gdb-7.8.90.20150125/gdb/f-valprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/f-valprint.c 2015-01-25 08:39:10.843466959 +0100
+++ gdb-7.8.90.20150125/gdb/f-valprint.c 2015-01-25 08:39:14.668483445 +0100
@@ -38,7 +38,7 @@ extern void _initialize_f_valprint (void
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 @@ f77_get_upperbound (struct type *type)
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 @@ f77_get_dynamic_length_of_aggregate (str
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 @@ f77_print_array_1 (int nss, int ndimensi
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);
@@ -178,7 +178,7 @@ f77_print_array_1 (int nss, int ndimensi
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,
@@ -215,8 +215,9 @@ static const struct generic_val_print_de
function; they are identical. */
void
-f_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
- CORE_ADDR address, struct ui_file *stream, int recurse,
+f_val_print (struct type *type, const gdb_byte *valaddr,
+ LONGEST embedded_offset, CORE_ADDR address,
+ struct ui_file *stream, int recurse,
const struct value *original_value,
const struct value_print_options *options)
{
Index: gdb-7.8.90.20150125/gdb/findvar.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/findvar.c 2015-01-25 08:39:10.844466963 +0100
+++ gdb-7.8.90.20150125/gdb/findvar.c 2015-01-25 08:39:14.669483449 +0100
@@ -626,7 +626,7 @@ struct value *
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);
VALUE_LVAL (value) = lval_register;
@@ -659,10 +659,10 @@ void
read_frame_register_value (struct value *value, struct frame_info *frame)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
- int offset = 0;
- int reg_offset = value_offset (value);
+ LONGEST offset = 0;
+ LONGEST reg_offset = value_offset (value);
int regnum = VALUE_REGNUM (value);
- int len = TYPE_LENGTH (check_typedef (value_type (value)));
+ LONGEST len = TYPE_LENGTH (check_typedef (value_type (value)));
gdb_assert (VALUE_LVAL (value) == lval_register);
@@ -677,7 +677,7 @@ read_frame_register_value (struct value
while (len > 0)
{
struct value *regval = get_frame_register_value (frame, regnum);
- int reg_len = TYPE_LENGTH (value_type (regval)) - reg_offset;
+ LONGEST reg_len = TYPE_LENGTH (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.8.90.20150125/gdb/frame.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/frame.c 2015-01-25 08:39:10.845466967 +0100
+++ gdb-7.8.90.20150125/gdb/frame.c 2015-01-25 08:39:14.669483449 +0100
@@ -1269,7 +1269,7 @@ deprecated_frame_register_read (struct f
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);
@@ -1298,7 +1298,7 @@ get_frame_register_bytes (struct frame_i
}
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.8.90.20150125/gdb/frame.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/frame.h 2015-01-25 08:39:10.845466967 +0100
+++ gdb-7.8.90.20150125/gdb/frame.h 2015-01-25 08:39:14.670483454 +0100
@@ -583,7 +583,7 @@ extern void put_frame_register (struct f
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.8.90.20150125/gdb/gdbtypes.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/gdbtypes.c 2015-01-25 08:39:10.848466980 +0100
+++ gdb-7.8.90.20150125/gdb/gdbtypes.c 2015-01-25 08:39:14.671483458 +0100
@@ -2478,7 +2478,7 @@ allocate_gnat_aux_type (struct type *typ
least as long as OBJFILE. */
struct type *
-init_type (enum type_code code, int length, int flags,
+init_type (enum type_code code, LONGEST length, int flags,
const char *name, struct objfile *objfile)
{
struct type *type;
@@ -2718,8 +2718,8 @@ is_public_ancestor (struct type *base, s
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;
@@ -2730,7 +2730,7 @@ is_unique_ancestor_worker (struct type *
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));
@@ -2771,7 +2771,7 @@ is_unique_ancestor_worker (struct type *
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),
@@ -3916,7 +3916,7 @@ recursive_dump_type (struct type *type,
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 ");
@@ -4040,8 +4040,8 @@ recursive_dump_type (struct type *type,
idx, plongest (TYPE_FIELD_ENUMVAL (type, idx)));
else
printfi_filtered (spaces + 2,
- "[%d] bitpos %d bitsize %d type ",
- idx, TYPE_FIELD_BITPOS (type, idx),
+ "[%d] bitpos %s bitsize %d type ",
+ idx, plongest (TYPE_FIELD_BITPOS (type, idx)),
TYPE_FIELD_BITSIZE (type, idx));
gdb_print_host_address (TYPE_FIELD_TYPE (type, idx), gdb_stdout);
printf_filtered (" name '%s' (",
@@ -4398,7 +4398,7 @@ copy_type (const struct type *type)
struct type *
arch_type (struct gdbarch *gdbarch,
- enum type_code code, int length, char *name)
+ enum type_code code, LONGEST length, char *name)
{
struct type *type;
Index: gdb-7.8.90.20150125/gdb/gdbtypes.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/gdbtypes.h 2015-01-25 08:39:10.849466984 +0100
+++ gdb-7.8.90.20150125/gdb/gdbtypes.h 2015-01-25 08:39:14.671483458 +0100
@@ -598,7 +598,7 @@ struct main_type
gdbarch_bits_big_endian=0 targets, it is the bit offset to
the LSB. */
- int bitpos;
+ LONGEST bitpos;
/* * Enum value. */
LONGEST enumval;
@@ -801,7 +801,7 @@ struct type
HOST_CHAR_BIT. However, this would still fail to address
machines based on a ternary or decimal representation. */
- unsigned length;
+ ULONGEST length;
/* * Core type, shared by a group of qualified types. */
@@ -1641,11 +1641,12 @@ extern struct type *get_target_type (str
/* * Helper function to construct objfile-owned types. */
-extern struct type *init_type (enum type_code, int, int, const char *,
+extern struct type *init_type (enum type_code, LONGEST, int, const char *,
struct objfile *);
/* Helper functions to construct architecture-owned types. */
-extern struct type *arch_type (struct gdbarch *, enum type_code, int, char *);
+extern struct type *arch_type (struct gdbarch *, enum type_code, LONGEST,
+ char *);
extern struct type *arch_integer_type (struct gdbarch *, int, int, char *);
extern struct type *arch_character_type (struct gdbarch *, int, int, char *);
extern struct type *arch_boolean_type (struct gdbarch *, int, int, char *);
Index: gdb-7.8.90.20150125/gdb/gnu-v2-abi.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/gnu-v2-abi.c 2015-01-25 08:39:10.849466984 +0100
+++ gdb-7.8.90.20150125/gdb/gnu-v2-abi.c 2015-01-25 08:39:14.672483462 +0100
@@ -82,7 +82,7 @@ gnuv2_is_operator_name (const char *name
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));
@@ -183,7 +183,8 @@ gnuv2_virtual_fn_field (struct value **a
static struct type *
-gnuv2_value_rtti_type (struct value *v, int *full, int *top, int *using_enc)
+gnuv2_value_rtti_type (struct value *v, int *full, LONGEST *top,
+ int *using_enc)
{
struct type *known_type;
struct type *rtti_type;
@@ -338,9 +339,9 @@ vb_match (struct type *type, int index,
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, int embedded_offset,
+ const bfd_byte *valaddr, LONGEST embedded_offset,
CORE_ADDR address, const struct value *val)
{
struct type *basetype = TYPE_BASECLASS (type, index);
@@ -358,8 +359,8 @@ gnuv2_baseclass_offset (struct type *typ
if (vb_match (type, i, basetype))
{
struct type *field_type;
- int field_offset;
- int field_length;
+ LONGEST field_offset;
+ LONGEST field_length;
CORE_ADDR addr;
field_type = check_typedef (TYPE_FIELD_TYPE (type, i));
@@ -383,7 +384,7 @@ gnuv2_baseclass_offset (struct type *typ
/* 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.8.90.20150125/gdb/gnu-v3-abi.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/gnu-v3-abi.c 2015-01-25 08:39:10.850466989 +0100
+++ gdb-7.8.90.20150125/gdb/gnu-v3-abi.c 2015-01-25 08:39:14.672483462 +0100
@@ -108,7 +108,7 @@ build_gdb_vtable_type (struct gdbarch *a
{
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 @@ vtable_ptrdiff_type (struct gdbarch *gdb
/* 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 = gdbarch_data (gdbarch, vtable_type_gdbarch_data);
@@ -275,7 +275,7 @@ gnuv3_get_vtable (struct gdbarch *gdbarc
static struct type *
gnuv3_rtti_type (struct value *value,
- int *full_p, int *top_p, int *using_enc_p)
+ int *full_p, LONGEST *top_p, int *using_enc_p)
{
struct gdbarch *gdbarch;
struct type *values_type = check_typedef (value_type (value));
@@ -400,7 +400,7 @@ gnuv3_get_virtual_fn (struct gdbarch *gd
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;
@@ -430,16 +430,16 @@ gnuv3_virtual_fn_field (struct value **v
-1 is returned on error. */
-static int
+static LONGEST
gnuv3_baseclass_offset (struct type *type, int index,
- const bfd_byte *valaddr, int embedded_offset,
+ const bfd_byte *valaddr, LONGEST embedded_offset,
CORE_ADDR address, const struct value *val)
{
struct gdbarch *gdbarch;
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);
@@ -463,7 +463,7 @@ gnuv3_baseclass_offset (struct type *typ
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);
@@ -507,7 +507,7 @@ gnuv3_find_method_in (struct type *domai
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.8.90.20150125/gdb/go-lang.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/go-lang.h 2015-01-25 08:39:10.850466989 +0100
+++ gdb-7.8.90.20150125/gdb/go-lang.h 2015-01-25 08:39:14.672483462 +0100
@@ -85,7 +85,7 @@ extern void go_print_type (struct type *
/* Defined in go-valprint.c. */
extern void go_val_print (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options);
Index: gdb-7.8.90.20150125/gdb/go-valprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/go-valprint.c 2015-01-25 08:39:10.851466993 +0100
+++ gdb-7.8.90.20150125/gdb/go-valprint.c 2015-01-25 08:39:14.672483462 +0100
@@ -37,7 +37,7 @@
static void
print_go_string (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)
@@ -86,9 +86,9 @@ print_go_string (struct type *type, cons
/* Implements the la_val_print routine for language Go. */
void
-go_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
- CORE_ADDR address, struct ui_file *stream, int recurse,
- const struct value *val,
+go_val_print (struct type *type, const gdb_byte *valaddr,
+ LONGEST embedded_offset, CORE_ADDR address,
+ struct ui_file *stream, int recurse, const struct value *val,
const struct value_print_options *options)
{
CHECK_TYPEDEF (type);
Index: gdb-7.8.90.20150125/gdb/inf-ttrace.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/inf-ttrace.c 2015-01-25 08:39:10.851466993 +0100
+++ gdb-7.8.90.20150125/gdb/inf-ttrace.c 2015-01-25 08:39:14.673483467 +0100
@@ -366,7 +366,7 @@ inf_ttrace_can_use_hw_breakpoint (struct
static int
inf_ttrace_region_ok_for_hw_watchpoint (struct target_ops *self,
- CORE_ADDR addr, int len)
+ CORE_ADDR addr, LONGEST len)
{
return 1;
}
Index: gdb-7.8.90.20150125/gdb/jv-lang.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/jv-lang.c 2015-01-25 08:39:10.852466997 +0100
+++ gdb-7.8.90.20150125/gdb/jv-lang.c 2015-01-25 08:39:14.673483467 +0100
@@ -436,7 +436,7 @@ java_link_class_type (struct gdbarch *gd
for (i = TYPE_N_BASECLASSES (type); i < nfields; i++)
{
int accflags;
- int boffset;
+ LONGEST boffset;
if (fields == NULL)
{
@@ -886,7 +886,7 @@ java_printchar (int c, struct type *type
static void
java_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 = java_get_encoding (type);
Index: gdb-7.8.90.20150125/gdb/jv-lang.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/jv-lang.h 2015-01-25 08:39:10.852466997 +0100
+++ gdb-7.8.90.20150125/gdb/jv-lang.h 2015-01-25 08:39:14.673483467 +0100
@@ -43,8 +43,8 @@ struct builtin_java_type
extern const struct builtin_java_type *builtin_java_type (struct gdbarch *);
-extern void java_val_print (struct type *, const gdb_byte *, int, CORE_ADDR,
- struct ui_file *, int,
+extern void java_val_print (struct type *, const gdb_byte *, LONGEST,
+ CORE_ADDR, struct ui_file *, int,
const struct value *,
const struct value_print_options *);
Index: gdb-7.8.90.20150125/gdb/jv-valprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/jv-valprint.c 2015-01-25 08:39:10.852466997 +0100
+++ gdb-7.8.90.20150125/gdb/jv-valprint.c 2015-01-25 08:39:14.674483471 +0100
@@ -265,7 +265,7 @@ java_value_print (struct value *val, str
static void
java_print_value_fields (struct type *type, const gdb_byte *valaddr,
- int offset,
+ LONGEST offset,
CORE_ADDR address, struct ui_file *stream,
int recurse,
const struct value *val,
@@ -453,7 +453,7 @@ java_print_value_fields (struct type *ty
void
java_val_print (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options)
Index: gdb-7.8.90.20150125/gdb/language.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/language.c 2015-01-25 08:39:10.853467002 +0100
+++ gdb-7.8.90.20150125/gdb/language.c 2015-01-25 08:39:14.674483471 +0100
@@ -720,7 +720,7 @@ unk_lang_printchar (int c, struct type *
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)
{
@@ -739,7 +739,7 @@ unk_lang_print_type (struct type *type,
static void
unk_lang_val_print (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options)
Index: gdb-7.8.90.20150125/gdb/language.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/language.h 2015-01-25 08:39:10.853467002 +0100
+++ gdb-7.8.90.20150125/gdb/language.h 2015-01-25 08:39:14.674483471 +0100
@@ -189,7 +189,7 @@ struct language_defn
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 *);
@@ -231,7 +231,7 @@ struct language_defn
void (*la_val_print) (struct type *type,
const gdb_byte *contents,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options);
Index: gdb-7.8.90.20150125/gdb/m2-lang.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/m2-lang.c 2015-01-25 08:39:10.853467002 +0100
+++ gdb-7.8.90.20150125/gdb/m2-lang.c 2015-01-25 08:39:14.674483471 +0100
@@ -104,10 +104,10 @@ m2_printchar (int c, struct type *type,
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 @@ m2_printstr (struct ui_file *stream, str
{
/* 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 @@ m2_printstr (struct ui_file *stream, str
in_quotes = 0;
}
m2_printchar (string[i], type, stream);
- fprintf_filtered (stream, " <repeats %u times>", reps);
+ fprintf_filtered (stream, " <repeats %s times>", pulongest (reps));
i = rep1 - 1;
things_printed += options->repeat_count_threshold;
need_comma = 1;
Index: gdb-7.8.90.20150125/gdb/m2-lang.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/m2-lang.h 2015-01-25 08:39:10.854467006 +0100
+++ gdb-7.8.90.20150125/gdb/m2-lang.h 2015-01-25 08:39:14.675483475 +0100
@@ -34,7 +34,7 @@ extern void m2_print_typedef (struct typ
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 *, const gdb_byte *, int, CORE_ADDR,
+extern void m2_val_print (struct type *, const gdb_byte *, LONGEST, CORE_ADDR,
struct ui_file *, int,
const struct value *,
const struct value_print_options *);
Index: gdb-7.8.90.20150125/gdb/m2-typeprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/m2-typeprint.c 2015-01-25 08:39:10.854467006 +0100
+++ gdb-7.8.90.20150125/gdb/m2-typeprint.c 2015-01-25 08:39:14.675483475 +0100
@@ -230,9 +230,12 @@ static void m2_array (struct type *type,
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.8.90.20150125/gdb/m2-valprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/m2-valprint.c 2015-01-25 08:39:10.854467006 +0100
+++ gdb-7.8.90.20150125/gdb/m2-valprint.c 2015-01-25 08:39:14.675483475 +0100
@@ -35,7 +35,7 @@ static int print_unpacked_pointer (struc
struct ui_file *stream);
static void
m2_print_array_contents (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options,
@@ -67,7 +67,7 @@ get_long_set_bounds (struct type *type,
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 @@ m2_print_long_set (struct type *type, co
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)
{
@@ -262,7 +262,7 @@ print_variable_at_address (struct type *
static void
m2_print_array_contents (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options,
@@ -308,14 +308,15 @@ static const struct generic_val_print_de
function; they are identical. */
void
-m2_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
- CORE_ADDR address, struct ui_file *stream, int recurse,
+m2_val_print (struct type *type, const gdb_byte *valaddr,
+ LONGEST embedded_offset, CORE_ADDR address,
+ struct ui_file *stream, int recurse,
const struct value *original_value,
const struct value_print_options *options)
{
struct gdbarch *gdbarch = get_type_arch (type);
- unsigned int i = 0; /* Number of characters printed. */
- unsigned len;
+ ULONGEST i = 0; /* Number of characters printed. */
+ ULONGEST len;
struct type *elttype;
CORE_ADDR addr;
@@ -340,7 +341,7 @@ m2_val_print (struct type *type, const g
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;
Index: gdb-7.8.90.20150125/gdb/memrange.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/memrange.c 2015-01-25 08:39:10.854467006 +0100
+++ gdb-7.8.90.20150125/gdb/memrange.c 2015-01-25 08:39:14.675483475 +0100
@@ -21,8 +21,8 @@
#include "memrange.h"
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.8.90.20150125/gdb/memrange.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/memrange.h 2015-01-25 08:39:10.855467010 +0100
+++ gdb-7.8.90.20150125/gdb/memrange.h 2015-01-25 08:39:14.675483475 +0100
@@ -30,7 +30,7 @@ struct mem_range
CORE_ADDR start;
/* Length of the range. */
- int length;
+ LONGEST length;
};
typedef struct mem_range mem_range_s;
@@ -40,8 +40,8 @@ DEF_VEC_O(mem_range_s);
/* 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.8.90.20150125/gdb/mips-linux-nat.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/mips-linux-nat.c 2015-01-25 08:39:10.855467010 +0100
+++ gdb-7.8.90.20150125/gdb/mips-linux-nat.c 2015-01-25 08:39:14.676483480 +0100
@@ -586,7 +586,7 @@ mips_linux_stopped_data_address (struct
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.8.90.20150125/gdb/opencl-lang.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/opencl-lang.c 2015-01-25 08:39:10.856467015 +0100
+++ gdb-7.8.90.20150125/gdb/opencl-lang.c 2015-01-25 08:39:14.676483480 +0100
@@ -78,11 +78,11 @@ builtin_opencl_type (struct gdbarch *gdb
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);
@@ -172,9 +172,9 @@ lval_func_read (struct value *v)
struct lval_closure *c = (struct lval_closure *) value_computed_closure (v);
struct type *type = check_typedef (value_type (v));
struct type *eltype = TYPE_TARGET_TYPE (check_typedef (value_type (c->val)));
- int offset = value_offset (v);
- int elsize = TYPE_LENGTH (eltype);
- int n, i, j = 0;
+ LONGEST offset = value_offset (v);
+ LONGEST elsize = TYPE_LENGTH (eltype);
+ LONGEST n, i, j = 0;
LONGEST lowb = 0;
LONGEST highb = 0;
@@ -201,9 +201,9 @@ lval_func_write (struct value *v, struct
struct lval_closure *c = (struct lval_closure *) value_computed_closure (v);
struct type *type = check_typedef (value_type (v));
struct type *eltype = TYPE_TARGET_TYPE (check_typedef (value_type (c->val)));
- int offset = value_offset (v);
- int elsize = TYPE_LENGTH (eltype);
- int n, i, j = 0;
+ LONGEST offset = value_offset (v);
+ LONGEST elsize = TYPE_LENGTH (eltype);
+ LONGEST n, i, j = 0;
LONGEST lowb = 0;
LONGEST highb = 0;
@@ -243,17 +243,17 @@ lval_func_write (struct value *v, struct
static int
lval_func_check_synthetic_pointer (const struct value *v,
- int 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 @@ lval_func_check_synthetic_pointer (const
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.8.90.20150125/gdb/p-lang.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/p-lang.c 2015-01-25 08:39:10.856467015 +0100
+++ gdb-7.8.90.20150125/gdb/p-lang.c 2015-01-25 08:39:14.676483480 +0100
@@ -95,8 +95,8 @@ pascal_main_name (void)
are not multiple of TARGET_CHAR_BIT then the results are wrong
but this does not happen for Free Pascal nor for GPC. */
int
-is_pascal_string_type (struct type *type,int *length_pos,
- int *length_size, int *string_pos,
+is_pascal_string_type (struct type *type, LONGEST *length_pos,
+ LONGEST *length_size, LONGEST *string_pos,
struct type **char_type,
const char **arrayname)
{
@@ -216,12 +216,12 @@ pascal_printchar (int c, struct type *ty
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 @@ pascal_printstr (struct ui_file *stream,
{
/* 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 @@ pascal_printstr (struct ui_file *stream,
in_quotes = 0;
}
pascal_printchar (current_char, type, stream);
- fprintf_filtered (stream, " <repeats %u times>", reps);
+ fprintf_filtered (stream, " <repeats %s times>", pulongest (reps));
i = rep1 - 1;
things_printed += options->repeat_count_threshold;
need_comma = 1;
Index: gdb-7.8.90.20150125/gdb/p-lang.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/p-lang.h 2015-01-25 08:39:10.856467015 +0100
+++ gdb-7.8.90.20150125/gdb/p-lang.h 2015-01-25 08:39:14.676483480 +0100
@@ -36,7 +36,7 @@ extern void pascal_print_type (struct ty
extern void pascal_print_typedef (struct type *, struct symbol *,
struct ui_file *);
-extern void pascal_val_print (struct type *, const gdb_byte *, int,
+extern void pascal_val_print (struct type *, const gdb_byte *, LONGEST,
CORE_ADDR, struct ui_file *, int,
const struct value *,
const struct value_print_options *);
@@ -50,13 +50,13 @@ extern void pascal_type_print_method_arg
/* 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[]);
@@ -72,7 +72,7 @@ extern void
const struct type_print_options *);
extern void pascal_object_print_value_fields (struct type *, const gdb_byte *,
- int,
+ LONGEST,
CORE_ADDR, struct ui_file *,
int,
const struct value *,
Index: gdb-7.8.90.20150125/gdb/p-valprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/p-valprint.c 2015-01-25 08:39:10.857467019 +0100
+++ gdb-7.8.90.20150125/gdb/p-valprint.c 2015-01-25 08:39:14.677483484 +0100
@@ -57,7 +57,7 @@ static const struct generic_val_print_de
void
pascal_val_print (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *original_value,
const struct value_print_options *options)
@@ -68,8 +68,8 @@ pascal_val_print (struct type *type, con
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;
@@ -467,7 +467,7 @@ static void pascal_object_print_static_f
const struct value_print_options *);
static void pascal_object_print_value (struct type *, const gdb_byte *,
- int,
+ LONGEST,
CORE_ADDR, struct ui_file *, int,
const struct value *,
const struct value_print_options *,
@@ -526,7 +526,7 @@ pascal_object_is_vtbl_member (struct typ
void
pascal_object_print_value_fields (struct type *type, const gdb_byte *valaddr,
- int offset,
+ LONGEST offset,
CORE_ADDR address, struct ui_file *stream,
int recurse,
const struct value *val,
@@ -697,7 +697,7 @@ pascal_object_print_value_fields (struct
static void
pascal_object_print_value (struct type *type, const gdb_byte *valaddr,
- int offset,
+ LONGEST offset,
CORE_ADDR address, struct ui_file *stream,
int recurse,
const struct value *val,
@@ -720,11 +720,11 @@ pascal_object_print_value (struct type *
for (i = 0; i < n_baseclasses; i++)
{
- int boffset = 0;
+ LONGEST boffset = 0;
struct type *baseclass = check_typedef (TYPE_BASECLASS (type, i));
const char *basename = type_name_no_tag (baseclass);
const gdb_byte *base_valaddr = NULL;
- int thisoffset;
+ LONGEST thisoffset;
volatile struct gdb_exception ex;
int skip = 0;
Index: gdb-7.8.90.20150125/gdb/ppc-linux-nat.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/ppc-linux-nat.c 2015-01-25 08:39:10.858467023 +0100
+++ gdb-7.8.90.20150125/gdb/ppc-linux-nat.c 2015-01-25 08:39:14.677483484 +0100
@@ -1501,7 +1501,7 @@ ppc_linux_can_use_hw_breakpoint (struct
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.8.90.20150125/gdb/printcmd.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/printcmd.c 2015-01-25 08:39:10.858467023 +0100
+++ gdb-7.8.90.20150125/gdb/printcmd.c 2015-01-25 08:39:14.678483488 +0100
@@ -285,7 +285,7 @@ print_formatted (struct value *val, int
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;
@@ -363,7 +363,7 @@ print_scalar_formatted (const void *vala
{
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.8.90.20150125/gdb/procfs.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/procfs.c 2015-01-25 08:39:10.860467032 +0100
+++ gdb-7.8.90.20150125/gdb/procfs.c 2015-01-25 08:39:14.679483493 +0100
@@ -4859,7 +4859,7 @@ procfs_remove_watchpoint (struct target_
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.8.90.20150125/gdb/python/py-prettyprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/python/py-prettyprint.c 2015-01-25 08:39:10.860467032 +0100
+++ gdb-7.8.90.20150125/gdb/python/py-prettyprint.c 2015-01-25 08:39:14.679483493 +0100
@@ -686,7 +686,7 @@ print_children (PyObject *printer, const
enum ext_lang_rc
gdbpy_apply_val_pretty_printer (const struct extension_language_defn *extlang,
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,
Index: gdb-7.8.90.20150125/gdb/regcache.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/regcache.c 2015-01-25 08:39:10.861467036 +0100
+++ gdb-7.8.90.20150125/gdb/regcache.c 2015-01-25 08:39:14.680483497 +0100
@@ -941,7 +941,7 @@ typedef void (regcache_write_ftype) (str
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),
@@ -985,7 +985,7 @@ regcache_xfer_part (struct regcache *reg
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;
@@ -996,7 +996,7 @@ regcache_raw_read_part (struct regcache
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;
@@ -1007,7 +1007,7 @@ regcache_raw_write_part (struct regcache
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;
@@ -1018,7 +1018,7 @@ regcache_cooked_read_part (struct regcac
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.8.90.20150125/gdb/regcache.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/regcache.h 2015-01-25 08:39:10.861467036 +0100
+++ gdb-7.8.90.20150125/gdb/regcache.h 2015-01-25 08:39:14.680483497 +0100
@@ -92,9 +92,9 @@ extern void regcache_raw_write_unsigned
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);
@@ -131,10 +131,11 @@ extern void regcache_cooked_write_unsign
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.8.90.20150125/gdb/remote.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/remote.c 2015-01-25 08:39:10.864467049 +0100
+++ gdb-7.8.90.20150125/gdb/remote.c 2015-01-25 08:39:14.682483505 +0100
@@ -8371,7 +8371,7 @@ int remote_hw_breakpoint_limit = -1;
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.8.90.20150125/gdb/spu-multiarch.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/spu-multiarch.c 2015-01-25 08:39:10.865467053 +0100
+++ gdb-7.8.90.20150125/gdb/spu-multiarch.c 2015-01-25 08:39:14.683483510 +0100
@@ -117,7 +117,7 @@ spu_thread_architecture (struct target_o
/* 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.8.90.20150125/gdb/stack.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/stack.c 2015-01-25 08:39:10.866467058 +0100
+++ gdb-7.8.90.20150125/gdb/stack.c 2015-01-25 08:39:14.683483510 +0100
@@ -175,7 +175,7 @@ print_stack_frame (struct frame_info *fr
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);
@@ -524,7 +524,7 @@ print_frame_args (struct symbol *func, s
/* 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;
struct cleanup *old_chain;
@@ -558,8 +558,8 @@ print_frame_args (struct symbol *func, s
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. */
@@ -694,7 +694,7 @@ print_frame_args (struct symbol *func, s
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.8.90.20150125/gdb/symmisc.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/symmisc.c 2015-01-25 08:39:10.866467058 +0100
+++ gdb-7.8.90.20150125/gdb/symmisc.c 2015-01-25 08:39:14.684483514 +0100
@@ -534,11 +534,11 @@ print_symbol (void *args)
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.8.90.20150125/gdb/target.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/target.c 2015-01-25 08:39:10.867467062 +0100
+++ gdb-7.8.90.20150125/gdb/target.c 2015-01-25 08:39:14.684483514 +0100
@@ -54,7 +54,7 @@ static int default_watchpoint_addr_withi
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 *);
@@ -2975,7 +2975,7 @@ target_fileio_read_stralloc (const char
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.8.90.20150125/gdb/target.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/target.h 2015-01-25 08:39:10.868467066 +0100
+++ gdb-7.8.90.20150125/gdb/target.h 2015-01-25 08:39:14.685483518 +0100
@@ -489,7 +489,7 @@ struct target_ops
/* 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.8.90.20150125/gdb/tracepoint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/tracepoint.c 2015-01-25 08:39:10.870467075 +0100
+++ gdb-7.8.90.20150125/gdb/tracepoint.c 2015-01-25 08:39:14.686483523 +0100
@@ -928,13 +928,13 @@ add_register (struct collection_list *co
static void
add_memrange (struct collection_list *memranges,
int type, bfd_signed_vma base,
- unsigned long len)
+ ULONGEST len)
{
if (info_verbose)
{
printf_filtered ("(%d,", type);
printf_vma (base);
- printf_filtered (",%ld)\n", len);
+ printf_filtered (",%s)\n", pulongest (len));
}
/* type: memrange_absolute == memory, other n == basereg */
@@ -964,7 +964,7 @@ collect_symbol (struct collection_list *
CORE_ADDR scope,
int trace_string)
{
- unsigned long len;
+ ULONGEST len;
unsigned int reg;
bfd_signed_vma offset;
int treat_as_expr = 0;
@@ -988,8 +988,8 @@ collect_symbol (struct collection_list *
char tmp[40];
sprintf_vma (tmp, offset);
- 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),
tmp /* address */);
}
/* A struct may be a C++ class with static fields, go to general
@@ -1021,8 +1021,8 @@ collect_symbol (struct collection_list *
offset = frame_offset + SYMBOL_VALUE (sym);
if (info_verbose)
{
- printf_filtered ("LOC_LOCAL %s: Collect %ld bytes at offset ",
- SYMBOL_PRINT_NAME (sym), len);
+ printf_filtered ("LOC_LOCAL %s: Collect %s bytes at offset ",
+ SYMBOL_PRINT_NAME (sym), pulongest (len));
printf_vma (offset);
printf_filtered (" from frame ptr reg %d\n", reg);
}
@@ -1033,8 +1033,8 @@ collect_symbol (struct collection_list *
offset = 0;
if (info_verbose)
{
- printf_filtered ("LOC_REGPARM_ADDR %s: Collect %ld bytes at offset ",
- SYMBOL_PRINT_NAME (sym), len);
+ printf_filtered ("LOC_REGPARM_ADDR %s: Collect %s bytes at offset ",
+ SYMBOL_PRINT_NAME (sym), pulongest (len));
printf_vma (offset);
printf_filtered (" from reg %d\n", reg);
}
@@ -1045,8 +1045,8 @@ collect_symbol (struct collection_list *
offset = frame_offset + SYMBOL_VALUE (sym);
if (info_verbose)
{
- printf_filtered ("LOC_LOCAL %s: Collect %ld bytes at offset ",
- SYMBOL_PRINT_NAME (sym), len);
+ printf_filtered ("LOC_LOCAL %s: Collect %s bytes at offset ",
+ SYMBOL_PRINT_NAME (sym), pulongest (len));
printf_vma (offset);
printf_filtered (" from frame ptr reg %d\n", reg);
}
@@ -2709,7 +2709,8 @@ scope_info (char *args, int from_tty)
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;
@@ -2845,8 +2846,11 @@ scope_info (char *args, int from_tty)
}
}
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.8.90.20150125/gdb/typeprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/typeprint.c 2015-01-25 08:39:10.871467079 +0100
+++ gdb-7.8.90.20150125/gdb/typeprint.c 2015-01-25 08:39:14.686483523 +0100
@@ -402,7 +402,7 @@ whatis_exp (char *exp, int show)
struct type *real_type = NULL;
struct type *type;
int full = 0;
- int top = -1;
+ LONGEST top = -1;
int using_enc = 0;
struct value_print_options opts;
struct type_print_options flags = default_ptype_flags;
Index: gdb-7.8.90.20150125/gdb/valarith.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/valarith.c 2015-01-25 08:39:10.872467084 +0100
+++ gdb-7.8.90.20150125/gdb/valarith.c 2015-01-25 08:39:14.686483523 +0100
@@ -188,12 +188,13 @@ value_subscript (struct value *array, LO
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));
- unsigned int elt_size = TYPE_LENGTH (elt_type);
- unsigned int elt_offs;
+ ULONGEST elt_size = TYPE_LENGTH (elt_type);
+ ULONGEST elt_offs;
LONGEST elt_stride = TYPE_BYTE_STRIDE (TYPE_INDEX_TYPE (array_type));
struct value *v;
@@ -202,7 +203,7 @@ value_subscripted_rvalue (struct value *
if (TYPE_NOT_ALLOCATED (array_type))
error (_("no such vector element because not allocated"));
- elt_offs = longest_to_int (index - lowerbound);
+ elt_offs = index - lowerbound;
if (elt_stride > 0)
elt_offs *= elt_stride;
@@ -663,7 +664,7 @@ value_concat (struct value *arg1, struct
struct value *inval1;
struct value *inval2;
struct value *outval = NULL;
- int inval1len, inval2len;
+ ssize_t inval1len, inval2len;
int count, idx;
char *ptr;
char inchar;
@@ -1516,7 +1517,7 @@ value_binop (struct value *arg1, struct
int
value_logical_not (struct value *arg1)
{
- int len;
+ LONGEST len;
const gdb_byte *p;
struct type *type1;
@@ -1547,11 +1548,11 @@ value_logical_not (struct value *arg1)
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.8.90.20150125/gdb/valops.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/valops.c 2015-01-25 08:39:10.877467105 +0100
+++ gdb-7.8.90.20150125/gdb/valops.c 2015-01-25 08:39:14.687483527 +0100
@@ -47,11 +47,11 @@ static int typecmp (int staticp, int var
struct field t1[], struct value *t2[]);
static struct value *search_struct_field (const char *, struct value *,
- int, struct type *, int);
+ LONGEST, struct type *, int);
static struct value *search_struct_method (const char *, struct value **,
struct value **,
- int, int *, struct type *);
+ LONGEST, int *, struct type *);
static int find_oload_champ_namespace (struct value **, int,
const char *, const char *,
@@ -79,7 +79,7 @@ oload_classification classify_oload_matc
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);
@@ -96,9 +96,9 @@ static CORE_ADDR allocate_space_in_infer
static struct value *cast_into_complex (struct type *, struct value *);
static void find_method_list (struct value **, const char *,
- int, struct type *, struct fn_field **, int *,
+ LONGEST, struct type *, struct fn_field **, int *,
VEC (xmethod_worker_ptr) **,
- struct type **, int *);
+ struct type **, LONGEST *);
void _initialize_valops (void);
@@ -183,7 +183,7 @@ find_function_in_inferior (const char *n
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);
@@ -256,7 +256,8 @@ value_cast_structs (struct type *type, s
if (TYPE_NAME (t2) != NULL)
{
/* Try downcasting using the run-time type of the value. */
- int full, top, using_enc;
+ int full, using_enc;
+ LONGEST top;
struct type *real_type;
real_type = value_rtti_type (v2, &full, &top, &using_enc);
@@ -396,12 +397,12 @@ value_cast (struct type *type, struct va
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)
@@ -635,7 +636,7 @@ value_reinterpret_cast (struct type *typ
static int
dynamic_cast_check_1 (struct type *desired_type,
const gdb_byte *valaddr,
- int embedded_offset,
+ LONGEST embedded_offset,
CORE_ADDR address,
struct value *val,
struct type *search_type,
@@ -647,8 +648,8 @@ dynamic_cast_check_1 (struct type *desir
for (i = 0; i < TYPE_N_BASECLASSES (search_type) && result_count < 2; ++i)
{
- int offset = baseclass_offset (search_type, i, valaddr, embedded_offset,
- address, val);
+ LONGEST offset = baseclass_offset (search_type, i, valaddr,
+ embedded_offset, address, val);
if (class_types_same_p (desired_type, TYPE_BASECLASS (search_type, i)))
{
@@ -682,7 +683,7 @@ dynamic_cast_check_1 (struct type *desir
static int
dynamic_cast_check_2 (struct type *desired_type,
const gdb_byte *valaddr,
- int embedded_offset,
+ LONGEST embedded_offset,
CORE_ADDR address,
struct value *val,
struct type *search_type,
@@ -692,7 +693,7 @@ dynamic_cast_check_2 (struct type *desir
for (i = 0; i < TYPE_N_BASECLASSES (search_type) && result_count < 2; ++i)
{
- int offset;
+ LONGEST offset;
if (! BASETYPE_VIA_PUBLIC (search_type, i))
continue;
@@ -723,7 +724,8 @@ dynamic_cast_check_2 (struct type *desir
struct value *
value_dynamic_cast (struct type *type, struct value *arg)
{
- int full, top, using_enc;
+ int full, using_enc;
+ LONGEST top;
struct type *resolved_type = check_typedef (type);
struct type *arg_type = check_typedef (value_type (arg));
struct type *class_type, *rtti_type;
@@ -954,7 +956,7 @@ value_at_lazy (struct type *type, CORE_A
}
void
-read_value_memory (struct value *val, int embedded_offset,
+read_value_memory (struct value *val, LONGEST embedded_offset,
int stack, CORE_ADDR memaddr,
gdb_byte *buffer, size_t length)
{
@@ -1054,7 +1056,7 @@ value_assign (struct value *toval, struc
{
const gdb_byte *dest_buffer;
CORE_ADDR changed_addr;
- int changed_len;
+ LONGEST changed_len;
gdb_byte buffer[sizeof (LONGEST)];
if (value_bitsize (toval))
@@ -1123,7 +1125,7 @@ value_assign (struct value *toval, struc
if (value_bitsize (toval))
{
struct value *parent = value_parent (toval);
- int offset = value_offset (parent) + value_offset (toval);
+ LONGEST offset = value_offset (parent) + value_offset (toval);
int changed_len;
gdb_byte buffer[sizeof (LONGEST)];
int optim, unavail;
@@ -1604,7 +1606,7 @@ value_array (int lowbound, int highbound
{
int nelem;
int idx;
- unsigned int typelength;
+ ULONGEST typelength;
struct value *val;
struct type *arraytype;
@@ -1779,7 +1781,7 @@ typecmp (int staticp, int varargs, int n
static void
update_search_result (struct value **result_ptr, struct value *v,
- int *last_boffset, int boffset,
+ LONGEST *last_boffset, LONGEST boffset,
const char *name, struct type *type)
{
if (v != NULL)
@@ -1803,10 +1805,10 @@ update_search_result (struct value **res
lookup is ambiguous. */
static void
-do_search_struct_field (const char *name, struct value *arg1, int offset,
+do_search_struct_field (const char *name, struct value *arg1, LONGEST offset,
struct type *type, int looking_for_baseclass,
struct value **result_ptr,
- int *last_boffset,
+ LONGEST *last_boffset,
struct type *outermost_type)
{
int i;
@@ -1853,7 +1855,7 @@ do_search_struct_field (const char *name
<variant field>. */
struct value *v = NULL;
- int new_offset = offset;
+ LONGEST new_offset = offset;
/* This is pretty gross. In G++, the offset in an
anonymous union is relative to the beginning of the
@@ -1892,7 +1894,7 @@ do_search_struct_field (const char *name
&& (strcmp_iw (name,
TYPE_BASECLASS_NAME (type,
i)) == 0));
- int boffset = value_embedded_offset (arg1) + offset;
+ LONGEST boffset = value_embedded_offset (arg1) + offset;
if (BASETYPE_VIA_VIRTUAL (type, i))
{
@@ -1965,11 +1967,11 @@ do_search_struct_field (const char *name
fields, look for a baseclass named NAME. */
static struct value *
-search_struct_field (const char *name, struct value *arg1, int offset,
+search_struct_field (const char *name, struct value *arg1, LONGEST offset,
struct type *type, int looking_for_baseclass)
{
struct value *result = NULL;
- int boffset = 0;
+ LONGEST boffset = 0;
do_search_struct_field (name, arg1, offset, type, looking_for_baseclass,
&result, &boffset, type);
@@ -1986,7 +1988,7 @@ search_struct_field (const char *name, s
static struct value *
search_struct_method (const char *name, struct value **arg1p,
- struct value **args, int offset,
+ struct value **args, LONGEST offset,
int *static_memfuncp, struct type *type)
{
int i;
@@ -2050,8 +2052,8 @@ search_struct_method (const char *name,
for (i = TYPE_N_BASECLASSES (type) - 1; i >= 0; i--)
{
- int base_offset;
- int this_offset;
+ LONGEST base_offset;
+ LONGEST this_offset;
if (BASETYPE_VIA_VIRTUAL (type, i))
{
@@ -2286,10 +2288,10 @@ value_struct_elt_bitpos (struct value **
static void
find_method_list (struct value **argp, const char *method,
- int offset, struct type *type,
+ LONGEST offset, struct type *type,
struct fn_field **fn_list, int *num_fns,
VEC (xmethod_worker_ptr) **xm_worker_vec,
- struct type **basetype, int *boffset)
+ struct type **basetype, LONGEST *boffset)
{
int i;
struct fn_field *f = NULL;
@@ -2346,7 +2348,7 @@ find_method_list (struct value **argp, c
extension methods. */
for (i = TYPE_N_BASECLASSES (type) - 1; i >= 0; i--)
{
- int base_offset;
+ LONGEST base_offset;
if (BASETYPE_VIA_VIRTUAL (type, i))
{
@@ -2389,7 +2391,7 @@ value_find_oload_method_list (struct val
int offset, struct fn_field **fn_list,
int *num_fns,
VEC (xmethod_worker_ptr) **xm_worker_vec,
- struct type **basetype, int *boffset)
+ struct type **basetype, LONGEST *boffset)
{
struct type *t;
@@ -2500,7 +2502,7 @@ find_overload_match (struct value **args
/* Number of overloaded instances being considered. */
int num_fns = 0;
struct type *basetype = NULL;
- int boffset;
+ LONGEST boffset;
struct cleanup *all_cleanups = make_cleanup (null_cleanup, NULL);
@@ -3315,7 +3317,7 @@ compare_parameters (struct type *t1, str
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,
@@ -3349,7 +3351,7 @@ value_struct_elt_for_reference (struct t
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
@@ -3517,7 +3519,7 @@ value_struct_elt_for_reference (struct t
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;
@@ -3598,7 +3600,7 @@ value_maybe_namespace_elt (const struct
struct type *
value_rtti_indirect_type (struct value *v, int *full,
- int *top, int *using_enc)
+ LONGEST *top, int *using_enc)
{
struct value *target;
struct type *type, *real_type, *target_type;
@@ -3648,12 +3650,12 @@ value_rtti_indirect_type (struct value *
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;
int full = 0;
- int top = -1;
+ LONGEST top = -1;
int using_enc = 0;
struct value *new_val;
Index: gdb-7.8.90.20150125/gdb/valprint.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/valprint.c 2015-01-25 08:39:10.879467114 +0100
+++ gdb-7.8.90.20150125/gdb/valprint.c 2015-01-25 08:39:14.688483531 +0100
@@ -298,7 +298,7 @@ val_print_scalar_type_p (struct type *ty
int
valprint_check_validity (struct ui_file *stream,
struct type *type,
- int embedded_offset,
+ LONGEST embedded_offset,
const struct value *val)
{
CHECK_TYPEDEF (type);
@@ -396,7 +396,7 @@ val_print_not_associated (struct ui_file
void
generic_val_print (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *original_value,
const struct value_print_options *options,
@@ -758,7 +758,7 @@ generic_val_print (struct type *type, co
RECURSE. */
void
-val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
+val_print (struct type *type, const gdb_byte *valaddr, LONGEST embedded_offset,
CORE_ADDR address, struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options,
@@ -996,7 +996,7 @@ val_print_type_code_flags (struct type *
void
val_print_scalar_formatted (struct type *type,
- const gdb_byte *valaddr, int embedded_offset,
+ const gdb_byte *valaddr, LONGEST embedded_offset,
const struct value *val,
const struct value_print_options *options,
int size,
@@ -1538,7 +1538,7 @@ print_decimal_chars (struct ui_file *str
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;
@@ -1655,22 +1655,22 @@ maybe_print_array_index (struct type *in
void
val_print_array_elements (struct type *type,
- const gdb_byte *valaddr, int embedded_offset,
+ const gdb_byte *valaddr, LONGEST embedded_offset,
CORE_ADDR address, struct ui_file *stream,
int recurse,
const struct value *val,
const struct value_print_options *options,
- unsigned int i)
+ ULONGEST i)
{
unsigned int things_printed = 0;
- unsigned len;
+ ULONGEST len;
struct type *elttype, *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;
elttype = TYPE_TARGET_TYPE (type);
@@ -1741,7 +1741,7 @@ val_print_array_elements (struct type *t
address, stream, recurse + 1, val, options,
current_language);
annotate_elt_rep (reps);
- fprintf_filtered (stream, " <repeats %u times>", reps);
+ fprintf_filtered (stream, " <repeats %s times>", pulongest (reps));
annotate_elt_rep_end ();
i = rep1 - 1;
@@ -2397,7 +2397,7 @@ print_converted_chars_to_obstack (struct
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.8.90.20150125/gdb/valprint.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/valprint.h 2015-01-25 08:39:10.880467118 +0100
+++ gdb-7.8.90.20150125/gdb/valprint.h 2015-01-25 08:39:14.688483531 +0100
@@ -115,11 +115,11 @@ extern void maybe_print_array_index (str
struct ui_file *stream,
const struct value_print_options *);
-extern void val_print_array_elements (struct type *, const gdb_byte *, int,
+extern void val_print_array_elements (struct type *, const gdb_byte *, LONGEST,
CORE_ADDR, struct ui_file *, int,
const 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 *);
@@ -129,7 +129,7 @@ extern void val_print_type_code_flags (s
struct ui_file *stream);
extern void val_print_scalar_formatted (struct type *,
- const gdb_byte *, int,
+ const gdb_byte *, LONGEST,
const struct value *,
const struct value_print_options *,
int,
@@ -145,7 +145,7 @@ extern void print_decimal_chars (struct
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 @@ struct generic_val_print_decorations
extern void generic_val_print (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *original_value,
const struct value_print_options *options,
@@ -204,7 +204,7 @@ extern void generic_emit_char (int c, st
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.8.90.20150125/gdb/value.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/value.c 2015-01-25 08:39:10.885467140 +0100
+++ gdb-7.8.90.20150125/gdb/value.c 2015-01-25 08:39:14.689483536 +0100
@@ -66,10 +66,10 @@ struct internal_function
struct range
{
/* Lowest offset in the range. */
- int offset;
+ LONGEST offset;
/* Length of the range. */
- int length;
+ LONGEST length;
};
typedef struct range range_s;
@@ -80,8 +80,8 @@ DEF_VEC_O(range_s);
[offset2, offset2+len2) overlap. */
static int
-ranges_overlap (int offset1, int len1,
- int offset2, int len2)
+ranges_overlap (LONGEST offset1, LONGEST len1,
+ LONGEST offset2, LONGEST len2)
{
ULONGEST h, l;
@@ -105,7 +105,7 @@ range_lessthan (const range_s *r1, const
OFFSET+LENGTH). */
static int
-ranges_contain (VEC(range_s) *ranges, int offset, int length)
+ranges_contain (VEC(range_s) *ranges, LONGEST offset, LONGEST length)
{
range_s what;
int i;
@@ -240,7 +240,7 @@ struct value
lval == lval_register, this is a further offset from
location.address within the registers structure. Note also the
member embedded_offset below. */
- int offset;
+ LONGEST offset;
/* Only used for bitfields; number of bits contained in them. */
int bitsize;
@@ -310,8 +310,8 @@ struct value
`type', and `embedded_offset' is zero, so everything works
normally. */
struct type *enclosing_type;
- int embedded_offset;
- int pointed_to_offset;
+ LONGEST embedded_offset;
+ LONGEST pointed_to_offset;
/* Values are stored in a chain, so that they can be deleted easily
over calls to the inferior. Values assigned to internal
@@ -342,7 +342,7 @@ struct value
};
int
-value_bits_available (const struct value *value, int offset, int length)
+value_bits_available (const struct value *value, LONGEST offset, LONGEST length)
{
gdb_assert (!value->lazy);
@@ -350,7 +350,8 @@ value_bits_available (const struct value
}
int
-value_bytes_available (const struct value *value, int offset, int length)
+value_bytes_available (const struct value *value, LONGEST offset,
+ LONGEST length)
{
return value_bits_available (value,
offset * TARGET_CHAR_BIT,
@@ -358,7 +359,8 @@ value_bytes_available (const struct valu
}
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);
@@ -420,7 +422,8 @@ value_entirely_optimized_out (struct val
OFFSET bits, and extending for the next LENGTH bits. */
static void
-insert_into_bit_range_vector (VEC(range_s) **vectorp, int offset, int length)
+insert_into_bit_range_vector (VEC(range_s) **vectorp, LONGEST offset,
+ LONGEST length)
{
range_s newr;
int i;
@@ -591,7 +594,8 @@ mark_value_bits_unavailable (struct valu
}
void
-mark_value_bytes_unavailable (struct value *value, int offset, int length)
+mark_value_bytes_unavailable (struct value *value, LONGEST offset,
+ LONGEST length)
{
mark_value_bits_unavailable (value,
offset * TARGET_CHAR_BIT,
@@ -605,7 +609,7 @@ mark_value_bytes_unavailable (struct val
static int
find_first_range_overlap (VEC(range_s) *ranges, int pos,
- int offset, int length)
+ LONGEST offset, LONGEST length)
{
range_s *r;
int i;
@@ -801,9 +805,9 @@ find_first_range_overlap_and_match (stru
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. */
@@ -863,9 +867,9 @@ value_contents_bits_eq (const struct val
}
int
-value_contents_eq (const struct value *val1, int offset1,
- const struct value *val2, int offset2,
- int length)
+value_contents_eq (const struct value *val1, LONGEST offset1,
+ const struct value *val2, LONGEST offset2,
+ LONGEST length)
{
return value_contents_bits_eq (val1, offset1 * TARGET_CHAR_BIT,
val2, offset2 * TARGET_CHAR_BIT,
@@ -1029,13 +1033,13 @@ deprecated_set_value_type (struct value
value->type = type;
}
-int
+LONGEST
value_offset (const struct value *value)
{
return value->offset;
}
void
-set_value_offset (struct value *value, int offset)
+set_value_offset (struct value *value, LONGEST offset)
{
value->offset = offset;
}
@@ -1246,8 +1250,9 @@ value_ranges_copy_adjusted (struct value
DST_OFFSET+LENGTH) range are wholly available. */
void
-value_contents_copy_raw (struct value *dst, int dst_offset,
- struct value *src, int src_offset, int length)
+value_contents_copy_raw (struct value *dst, ssize_t dst_offset,
+ struct value *src, ssize_t src_offset,
+ ssize_t length)
{
range_s *r;
int i;
@@ -1293,8 +1298,8 @@ value_contents_copy_raw (struct value *d
DST_OFFSET+LENGTH) range are wholly available. */
void
-value_contents_copy (struct value *dst, int dst_offset,
- struct value *src, int src_offset, int length)
+value_contents_copy (struct value *dst, ssize_t dst_offset,
+ struct value *src, ssize_t src_offset, ssize_t length)
{
if (src->lazy)
value_fetch_lazy (src);
@@ -1358,7 +1363,8 @@ value_optimized_out (struct value *value
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,
@@ -1368,14 +1374,15 @@ mark_value_bytes_optimized_out (struct v
/* See value.h. */
void
-mark_value_bits_optimized_out (struct value *value, int offset, int length)
+mark_value_bits_optimized_out (struct value *value, LONGEST offset,
+ LONGEST length)
{
insert_into_bit_range_vector (&value->optimized_out, offset, length);
}
int
value_bits_synthetic_pointer (const struct value *value,
- int offset, int length)
+ LONGEST offset, LONGEST length)
{
if (value->lval != lval_computed
|| !value->location.computed.funcs->check_synthetic_pointer)
@@ -1385,26 +1392,26 @@ value_bits_synthetic_pointer (const stru
length);
}
-int
+LONGEST
value_embedded_offset (struct value *value)
{
return value->embedded_offset;
}
void
-set_value_embedded_offset (struct value *value, int val)
+set_value_embedded_offset (struct value *value, LONGEST val)
{
value->embedded_offset = val;
}
-int
+LONGEST
value_pointed_to_offset (struct value *value)
{
return value->pointed_to_offset;
}
void
-set_value_pointed_to_offset (struct value *value, int val)
+set_value_pointed_to_offset (struct value *value, LONGEST val)
{
value->pointed_to_offset = val;
}
@@ -2263,7 +2270,7 @@ get_internalvar_function (struct interna
}
void
-set_internalvar_component (struct internalvar *var, int offset, int bitpos,
+set_internalvar_component (struct internalvar *var, LONGEST offset, int bitpos,
int bitsize, struct value *newval)
{
gdb_byte *addr;
@@ -2969,7 +2976,7 @@ set_value_enclosing_type (struct value *
FIELDNO says which field. */
struct value *
-value_primitive_field (struct value *arg1, int offset,
+value_primitive_field (struct value *arg1, LONGEST offset,
int fieldno, struct type *arg_type)
{
struct value *v;
@@ -3019,7 +3026,7 @@ value_primitive_field (struct value *arg
/* This field is actually a base subobject, so preserve the
entire object's contents for later references to virtual
bases, etc. */
- int boffset;
+ LONGEST boffset;
/* Lazy register values with offsets are not supported. */
if (VALUE_LVAL (arg1) == lval_register && value_lazy (arg1))
@@ -3105,7 +3112,7 @@ value_field (struct value *arg1, int fie
struct value *
value_fn_field (struct value **arg1p, struct fn_field *f,
int j, struct type *type,
- int offset)
+ LONGEST offset)
{
struct value *v;
struct type *ftype = TYPE_FN_FIELD_TYPE (f, j);
@@ -3175,14 +3182,14 @@ value_fn_field (struct value **arg1p, st
static LONGEST
unpack_bits_as_long (struct type *field_type, const gdb_byte *valaddr,
- int bitpos, int bitsize)
+ LONGEST bitpos, int bitsize)
{
enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (field_type));
ULONGEST val;
ULONGEST valmask;
int lsbcount;
int bytes_read;
- int read_offset;
+ LONGEST read_offset;
/* Read the minimum number of bytes required; there may not be
enough bytes to read an entire ULONGEST. */
@@ -3231,7 +3238,7 @@ unpack_bits_as_long (struct type *field_
int
unpack_value_field_as_long (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, int fieldno,
+ LONGEST embedded_offset, int fieldno,
const struct value *val, LONGEST *result)
{
int bitpos = TYPE_FIELD_BITPOS (type, fieldno);
@@ -3275,7 +3282,7 @@ unpack_field_as_long (struct type *type,
void
unpack_value_bitfield (struct value *dest_val,
int bitpos, int bitsize,
- const gdb_byte *valaddr, int embedded_offset,
+ const gdb_byte *valaddr, LONGEST embedded_offset,
const struct value *val)
{
enum bfd_endian byte_order;
@@ -3313,7 +3320,7 @@ unpack_value_bitfield (struct value *des
struct value *
value_field_bitfield (struct type *type, int fieldno,
const gdb_byte *valaddr,
- int embedded_offset, const struct value *val)
+ LONGEST embedded_offset, const struct value *val)
{
int bitpos = TYPE_FIELD_BITPOS (type, fieldno);
int bitsize = TYPE_FIELD_BITSIZE (type, fieldno);
@@ -3334,12 +3341,12 @@ value_field_bitfield (struct type *type,
void
modify_field (struct type *type, gdb_byte *addr,
- LONGEST fieldval, int bitpos, int bitsize)
+ LONGEST fieldval, LONGEST bitpos, int bitsize)
{
enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type));
ULONGEST oword;
ULONGEST mask = (ULONGEST) -1 >> (8 * sizeof (ULONGEST) - bitsize);
- int bytesize;
+ LONGEST bytesize;
/* Normalize BITPOS. */
addr += bitpos / 8;
Index: gdb-7.8.90.20150125/gdb/value.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/value.h 2015-01-25 08:39:10.887467148 +0100
+++ gdb-7.8.90.20150125/gdb/value.h 2015-01-25 08:39:14.690483540 +0100
@@ -131,8 +131,8 @@ extern void set_value_parent (struct val
within the registers structure. Note also the member
embedded_offset below. */
-extern int value_offset (const struct value *);
-extern void set_value_offset (struct value *, int offset);
+extern LONGEST value_offset (const struct value *);
+extern void set_value_offset (struct value *, LONGEST offset);
/* The comment from "struct value" reads: ``Is it modifiable? Only
relevant if lval != not_lval.''. Shouldn't the value instead be
@@ -201,10 +201,10 @@ extern struct type *value_actual_type (s
int resolve_simple_types,
int *real_type_found);
-extern int value_pointed_to_offset (struct value *value);
-extern void set_value_pointed_to_offset (struct value *value, int val);
-extern int value_embedded_offset (struct value *value);
-extern void set_value_embedded_offset (struct value *value, int val);
+extern LONGEST value_pointed_to_offset (struct value *value);
+extern void set_value_pointed_to_offset (struct value *value, LONGEST val);
+extern LONGEST value_embedded_offset (struct value *value);
+extern void set_value_embedded_offset (struct value *value, LONGEST val);
/* For lval_computed values, this structure holds functions used to
retrieve and set the value (or portions of the value).
@@ -242,7 +242,7 @@ struct lval_funcs
/* 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,
- int 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
@@ -279,7 +279,7 @@ extern struct value *allocate_computed_v
Otherwise, return 1. */
extern int valprint_check_validity (struct ui_file *stream, struct type *type,
- int embedded_offset,
+ LONGEST embedded_offset,
const struct value *val);
extern struct value *allocate_optimized_out_value (struct type *type);
@@ -373,7 +373,8 @@ extern int value_optimized_out (struct v
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. */
@@ -383,13 +384,13 @@ extern int value_entirely_optimized_out
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. */
extern void mark_value_bits_optimized_out (struct value *value,
- int offset, int length);
+ LONGEST offset, LONGEST length);
/* Set or return field indicating whether a variable is initialized or
not, based on debugging information supplied by the compiler.
@@ -472,7 +473,7 @@ extern struct value *coerce_array (struc
extending for LENGTH bits are a synthetic pointer. */
extern int value_bits_synthetic_pointer (const struct value *value,
- int offset, int length);
+ LONGEST offset, LONGEST length);
/* Given a value, determine whether the contents bytes starting at
OFFSET and extending for LENGTH bytes are available. This returns
@@ -480,7 +481,7 @@ extern int value_bits_synthetic_pointer
byte is unavailable. */
extern int value_bytes_available (const struct value *value,
- int offset, int length);
+ LONGEST offset, LONGEST length);
/* Given a value, determine whether the contents bits starting at
OFFSET and extending for LENGTH bits are available. This returns
@@ -488,7 +489,7 @@ extern int value_bytes_available (const
bit is unavailable. */
extern int value_bits_available (const struct value *value,
- int offset, int length);
+ LONGEST offset, LONGEST length);
/* Like value_bytes_available, but return false if any byte in the
whole object is unavailable. */
@@ -502,7 +503,7 @@ extern int value_entirely_unavailable (s
LENGTH bytes as unavailable. */
extern void mark_value_bytes_unavailable (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 unavailable. */
@@ -563,9 +564,9 @@ extern void mark_value_bits_unavailable
after the inferior is gone, it works with const values. Therefore,
this routine must not be called with lazy values. */
-extern int value_contents_eq (const struct value *val1, int offset1,
- const struct value *val2, int offset2,
- int length);
+extern int value_contents_eq (const struct value *val1, LONGEST offset1,
+ const struct value *val2, LONGEST offset2,
+ LONGEST length);
/* Read LENGTH bytes of memory starting at MEMADDR into BUFFER, which
is (or will be copied to) VAL's contents buffer offset by
@@ -574,7 +575,7 @@ extern int value_contents_eq (const stru
memory is likewise unavailable. STACK indicates whether the memory
is known to be stack memory. */
-extern void read_value_memory (struct value *val, int embedded_offset,
+extern void read_value_memory (struct value *val, LONGEST embedded_offset,
int stack, CORE_ADDR memaddr,
gdb_byte *buffer, size_t length);
@@ -610,17 +611,18 @@ extern LONGEST unpack_field_as_long (str
const gdb_byte *valaddr,
int fieldno);
extern int unpack_value_field_as_long (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, int fieldno,
+ LONGEST embedded_offset, int fieldno,
const struct value *val, LONGEST *result);
extern void unpack_value_bitfield (struct value *dest_val,
int bitpos, int bitsize,
- const gdb_byte *valaddr, int embedded_offset,
+ const gdb_byte *valaddr,
+ LONGEST embedded_offset,
const struct value *val);
extern struct value *value_field_bitfield (struct type *type, int fieldno,
const gdb_byte *valaddr,
- int embedded_offset,
+ LONGEST embedded_offset,
const struct value *val);
extern void pack_long (gdb_byte *buf, struct type *type, LONGEST num);
@@ -677,12 +679,12 @@ extern struct value *default_read_var_va
extern struct value *allocate_value (struct type *type);
extern struct value *allocate_value_lazy (struct type *type);
-extern void value_contents_copy (struct value *dst, int dst_offset,
- struct value *src, int src_offset,
- int length);
-extern void value_contents_copy_raw (struct value *dst, int dst_offset,
- struct value *src, int src_offset,
- int length);
+extern void value_contents_copy (struct value *dst, ssize_t dst_offset,
+ struct value *src, ssize_t src_offset,
+ ssize_t length);
+extern void value_contents_copy_raw (struct value *dst, ssize_t dst_offset,
+ struct value *src, ssize_t src_offset,
+ ssize_t length);
extern struct value *allocate_repeat_value (struct type *type, int count);
@@ -760,16 +762,16 @@ extern int find_overload_match (struct v
extern struct value *value_field (struct value *arg1, int fieldno);
-extern struct value *value_primitive_field (struct value *arg1, int offset,
+extern struct value *value_primitive_field (struct value *arg1, LONGEST offset,
int fieldno,
struct type *arg_type);
-extern struct type *value_rtti_indirect_type (struct value *, int *, int *,
+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);
@@ -864,7 +866,7 @@ extern void set_internalvar_string (stru
extern void clear_internalvar (struct internalvar *var);
extern void set_internalvar_component (struct internalvar *var,
- int offset,
+ LONGEST offset,
int bitpos, int bitsize,
struct value *newvalue);
@@ -945,7 +947,7 @@ extern struct value *value_x_unop (struc
enum noside noside);
extern struct value *value_fn_field (struct value **arg1p, struct fn_field *f,
- int j, struct type *type, int offset);
+ int j, struct type *type, LONGEST offset);
extern int binop_types_user_defined_p (enum exp_opcode op,
struct type *type1,
@@ -973,7 +975,8 @@ extern void release_value_or_incref (str
extern int record_latest_value (struct value *val);
extern void modify_field (struct type *type, gdb_byte *addr,
- LONGEST fieldval, int bitpos, int bitsize);
+ LONGEST fieldval, LONGEST bitpos,
+ int bitsize);
extern void type_print (struct type *type, const char *varstring,
struct ui_file *stream, int show);
@@ -1003,7 +1006,7 @@ extern void value_print_array_elements (
extern struct value *value_release_to_mark (struct value *mark);
extern void val_print (struct type *type, const gdb_byte *valaddr,
- int embedded_offset, CORE_ADDR address,
+ LONGEST embedded_offset, CORE_ADDR address,
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options,
@@ -1054,10 +1057,11 @@ extern struct value *value_literal_compl
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.8.90.20150125/gdb/s390-linux-nat.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/s390-linux-nat.c 2015-01-25 08:39:10.887467148 +0100
+++ gdb-7.8.90.20150125/gdb/s390-linux-nat.c 2015-01-25 08:39:14.690483540 +0100
@@ -544,7 +544,7 @@ s390_can_use_hw_breakpoint (struct targe
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.8.90.20150125/gdb/extension-priv.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/extension-priv.h 2015-01-25 08:39:10.887467148 +0100
+++ gdb-7.8.90.20150125/gdb/extension-priv.h 2015-01-25 08:39:14.690483540 +0100
@@ -175,7 +175,7 @@ struct extension_language_ops
enum ext_lang_rc (*apply_val_pretty_printer)
(const struct extension_language_defn *,
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,
const struct language_defn *language);
Index: gdb-7.8.90.20150125/gdb/python/python-internal.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/python/python-internal.h 2015-01-25 08:39:10.888467153 +0100
+++ gdb-7.8.90.20150125/gdb/python/python-internal.h 2015-01-25 08:39:14.691483544 +0100
@@ -313,7 +313,7 @@ extern int gdbpy_auto_load_enabled (cons
extern enum ext_lang_rc gdbpy_apply_val_pretty_printer
(const struct extension_language_defn *,
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,
Index: gdb-7.8.90.20150125/gdb/target-delegates.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/target-delegates.c 2015-01-25 08:39:10.889467157 +0100
+++ gdb-7.8.90.20150125/gdb/target-delegates.c 2015-01-25 08:39:14.691483544 +0100
@@ -634,14 +634,14 @@ debug_watchpoint_addr_within_range (stru
}
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);
@@ -651,7 +651,7 @@ debug_region_ok_for_hw_watchpoint (struc
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.8.90.20150125/gdb/aarch64-linux-nat.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/aarch64-linux-nat.c 2015-01-25 08:39:10.889467157 +0100
+++ gdb-7.8.90.20150125/gdb/aarch64-linux-nat.c 2015-01-25 08:39:14.692483549 +0100
@@ -1389,7 +1389,7 @@ aarch64_linux_remove_watchpoint (struct
static int
aarch64_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
- CORE_ADDR addr, int len)
+ CORE_ADDR addr, LONGEST len)
{
CORE_ADDR aligned_addr;
Index: gdb-7.8.90.20150125/gdb/nat/x86-dregs.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/nat/x86-dregs.c 2015-01-25 08:39:10.890467161 +0100
+++ gdb-7.8.90.20150125/gdb/nat/x86-dregs.c 2015-01-25 08:39:14.692483549 +0100
@@ -384,7 +384,7 @@ x86_remove_aligned_watchpoint (struct x8
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 @@ x86_dr_remove_watchpoint (struct x86_deb
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.8.90.20150125/gdb/compile/compile-c-support.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/compile/compile-c-support.c 2015-01-25 08:39:10.890467161 +0100
+++ gdb-7.8.90.20150125/gdb/compile/compile-c-support.c 2015-01-25 08:39:14.692483549 +0100
@@ -277,11 +277,11 @@ generate_register_struct (struct ui_file
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.8.90.20150125/gdb/nat/x86-dregs.h
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/nat/x86-dregs.h 2015-01-25 08:39:10.890467161 +0100
+++ gdb-7.8.90.20150125/gdb/nat/x86-dregs.h 2015-01-25 08:39:14.692483549 +0100
@@ -112,7 +112,7 @@ extern int x86_dr_remove_watchpoint (str
/* 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.8.90.20150125/gdb/x86-nat.c
===================================================================
--- gdb-7.8.90.20150125.orig/gdb/x86-nat.c 2015-01-25 08:39:10.890467161 +0100
+++ gdb-7.8.90.20150125/gdb/x86-nat.c 2015-01-25 08:39:14.693483553 +0100
@@ -178,7 +178,7 @@ x86_remove_watchpoint (struct target_ops
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));