2012-11-09 18:03:10 +00:00
|
|
|
|
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
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/ada-lang.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/ada-lang.c 2015-01-06 22:44:41.508318717 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/ada-lang.c 2015-01-06 22:44:43.164326752 +0100
|
|
|
|
|
@@ -74,7 +74,7 @@ static struct type *desc_bounds_type (st
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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 *);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -82,13 +82,13 @@ static struct type *desc_data_target_typ
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -168,7 +168,7 @@ static struct type *static_unwrap_type (
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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 *);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -183,7 +183,8 @@ static int ada_is_unconstrained_packed_a
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 *);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -211,14 +212,14 @@ static struct value *value_val_atr (stru
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 *);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -232,7 +233,7 @@ static int ada_is_direct_array_type (str
|
|
|
|
|
static void ada_language_arch_info (struct gdbarch *,
|
|
|
|
|
struct language_arch_info *);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
-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 *,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -695,7 +696,7 @@ coerce_unspec_val_to_type (struct value
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -704,7 +705,7 @@ cond_offset_host (const gdb_byte *valadd
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static CORE_ADDR
|
|
|
|
|
-cond_offset_target (CORE_ADDR address, long offset)
|
|
|
|
|
+cond_offset_target (CORE_ADDR address, LONGEST offset)
|
|
|
|
|
{
|
|
|
|
|
if (address == 0)
|
|
|
|
|
return 0;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1712,7 +1713,7 @@ desc_bounds (struct value *arr)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1778,7 +1779,7 @@ desc_data (struct value *arr)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1813,7 +1814,7 @@ desc_one_bound (struct value *bounds, in
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2003,7 +2004,7 @@ ada_type_of_array (struct value *arr, in
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2163,7 +2164,7 @@ decode_packed_array_bitsize (struct type
|
|
|
|
|
the length is arbitrary. */
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2217,7 +2218,7 @@ decode_constrained_packed_array_type (st
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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));
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2288,7 +2289,8 @@ decode_constrained_packed_array (struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2389,15 +2391,16 @@ has_negatives (struct type *type)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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 */
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2431,7 +2434,7 @@ ada_value_primitive_packed_val (struct v
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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));
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2547,7 +2550,7 @@ ada_value_primitive_packed_val (struct v
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2637,7 +2640,7 @@ ada_value_assign (struct value *toval, s
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
int len = (value_bitpos (toval)
|
|
|
|
|
+ bits + HOST_CHAR_BIT - 1) / HOST_CHAR_BIT;
|
|
|
|
|
- int from_size;
|
|
|
|
|
+ LONGEST from_size;
|
2013-08-02 20:26:03 +00:00
|
|
|
|
gdb_byte *buffer = alloca (len);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
struct value *val;
|
|
|
|
|
CORE_ADDR to_addr = value_address (toval);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2682,7 +2685,7 @@ value_assign_to_component (struct value
|
2012-11-09 18:03:10 +00:00
|
|
|
|
(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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -4219,7 +4222,7 @@ ensure_lval (struct value *val)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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));
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -4293,7 +4296,7 @@ static CORE_ADDR
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -6405,7 +6408,7 @@ value_tag_from_contents_and_address (str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -6870,7 +6873,7 @@ ada_in_variant (LONGEST val, struct type
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -6882,7 +6885,7 @@ ada_value_primitive_field (struct value
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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),
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -6909,9 +6912,9 @@ ada_value_primitive_field (struct value
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -6929,8 +6932,8 @@ find_struct_field (const char *name, str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -7000,7 +7003,7 @@ num_visible_fields (struct type *type)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -7033,7 +7036,7 @@ ada_search_struct_field (char *name, str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -7051,8 +7054,8 @@ ada_search_struct_field (char *name, str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -7061,7 +7064,7 @@ static struct value *ada_index_struct_fi
|
2012-11-09 18:03:10 +00:00
|
|
|
|
* 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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -7073,7 +7076,7 @@ ada_index_struct_field (int index, struc
|
2012-11-09 18:03:10 +00:00
|
|
|
|
* *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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -7163,7 +7166,8 @@ ada_value_struct_elt (struct value *arg,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -7480,8 +7484,8 @@ ada_coerce_ref (struct value *val0)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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);
|
|
|
|
|
}
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -7863,10 +7867,9 @@ ada_template_to_fixed_record_type_1 (str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -7944,7 +7947,7 @@ ada_template_to_fixed_record_type_1 (str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -8080,11 +8083,11 @@ ada_template_to_fixed_record_type_1 (str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -8508,7 +8511,8 @@ to_fixed_array_type (struct type *type0,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/ada-lang.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/ada-lang.h 2015-01-06 22:44:41.509318722 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/ada-lang.h 2015-01-06 22:44:43.164326752 +0100
|
|
|
|
|
@@ -179,7 +179,7 @@ extern void ada_print_type (struct type
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 *);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -194,7 +194,7 @@ extern void ada_emit_char (int, struct t
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -265,7 +265,7 @@ extern int ada_is_constrained_packed_arr
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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 *);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/ada-typeprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/ada-typeprint.c 2015-01-06 22:44:41.509318722 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/ada-typeprint.c 2015-01-06 22:44:43.165326757 +0100
|
|
|
|
|
@@ -883,8 +883,8 @@ ada_print_type (struct type *type0, cons
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 ");
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -905,7 +905,8 @@ ada_print_type (struct type *type0, cons
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/ada-valprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/ada-valprint.c 2015-01-06 22:44:41.510318727 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/ada-valprint.c 2015-01-06 22:44:43.165326757 +0100
|
|
|
|
|
@@ -33,11 +33,11 @@
|
2014-02-07 18:38:14 +00:00
|
|
|
|
#include "objfiles.h"
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
static int print_field_values (struct type *, const gdb_byte *,
|
|
|
|
|
- int,
|
|
|
|
|
+ LONGEST,
|
|
|
|
|
struct ui_file *, int,
|
|
|
|
|
const struct value *,
|
|
|
|
|
const struct value_print_options *,
|
2014-02-07 18:38:14 +00:00
|
|
|
|
- int, struct type *, int,
|
|
|
|
|
+ int, struct type *, LONGEST,
|
|
|
|
|
const struct language_defn *);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
2014-02-07 18:38:14 +00:00
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -129,7 +129,7 @@ val_print_packed_array_elements (struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -278,7 +278,7 @@ ada_emit_char (int c, struct type *type,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -440,11 +440,11 @@ ada_print_scalar (struct type *type, LON
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -459,9 +459,9 @@ printstr (struct ui_file *stream, struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
/* 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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -492,7 +492,8 @@ printstr (struct ui_file *stream, struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -520,7 +521,7 @@ printstr (struct ui_file *stream, struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -530,12 +531,12 @@ ada_printstr (struct ui_file *stream, st
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2014-02-07 18:38:14 +00:00
|
|
|
|
- struct type *outer_type, int outer_offset,
|
|
|
|
|
+ struct type *outer_type, LONGEST outer_offset,
|
|
|
|
|
const struct language_defn *language)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
struct type *var_type = TYPE_FIELD_TYPE (type, field_num);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -571,11 +572,11 @@ print_variant_part (struct type *type, i
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2014-02-07 18:38:14 +00:00
|
|
|
|
- struct type *outer_type, int outer_offset,
|
|
|
|
|
+ struct type *outer_type, LONGEST outer_offset,
|
|
|
|
|
const struct language_defn *language)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
int i, len;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -642,7 +643,7 @@ print_field_values (struct type *type, c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -688,8 +689,8 @@ ada_val_print_string (struct type *type,
|
2014-02-07 18:38:14 +00:00
|
|
|
|
{
|
|
|
|
|
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.
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -708,7 +709,7 @@ ada_val_print_string (struct type *type,
|
2014-02-07 18:38:14 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1073,7 +1074,7 @@ ada_val_print_ref (struct type *type, co
|
2014-02-07 18:38:14 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1154,7 +1155,7 @@ ada_val_print_1 (struct type *type, cons
|
2014-02-07 18:38:14 +00:00
|
|
|
|
|
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/annotate.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/annotate.c 2015-01-06 22:44:41.510318727 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/annotate.c 2015-01-06 22:44:43.165326757 +0100
|
|
|
|
|
@@ -542,21 +542,21 @@ annotate_frame_end (void)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/annotate.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/annotate.h 2015-01-06 22:44:41.510318727 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/annotate.h 2015-01-06 22:44:43.165326757 +0100
|
2013-02-18 17:14:00 +00:00
|
|
|
|
@@ -92,8 +92,8 @@ extern void annotate_frame_source_end (v
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/arm-linux-nat.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/arm-linux-nat.c 2015-01-06 22:44:41.511318732 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/arm-linux-nat.c 2015-01-06 22:44:43.166326762 +0100
|
|
|
|
|
@@ -1186,7 +1186,7 @@ arm_linux_remove_hw_breakpoint (struct t
|
2012-11-09 18:03:10 +00:00
|
|
|
|
ADDR? */
|
|
|
|
|
static int
|
2014-06-19 20:14:32 +00:00
|
|
|
|
arm_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
|
|
|
|
|
- CORE_ADDR addr, int len)
|
|
|
|
|
+ CORE_ADDR addr, LONGEST len)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
const struct arm_linux_hwbp_cap *cap = arm_linux_get_hwbp_cap ();
|
|
|
|
|
CORE_ADDR max_wp_length, aligned_addr;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/ax-gdb.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/ax-gdb.c 2015-01-06 22:44:41.512318737 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/ax-gdb.c 2015-01-06 22:44:43.166326762 +0100
|
|
|
|
|
@@ -82,12 +82,12 @@ static void gen_traced_pop (struct gdbar
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -135,15 +135,16 @@ static void gen_deref (struct agent_expr
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -538,7 +539,7 @@ gen_fetch (struct agent_expr *ax, struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -592,7 +593,7 @@ gen_frame_locals_address (struct gdbarch
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1248,7 +1249,7 @@ gen_address_of (struct agent_expr *ax, s
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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[]
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1283,13 +1284,13 @@ gen_bitfield_ref (struct expression *exp
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
/* 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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1408,7 +1409,7 @@ gen_bitfield_ref (struct expression *exp
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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))
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1433,7 +1434,7 @@ gen_primitive_field (struct expression *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/ax-general.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/ax-general.c 2015-01-06 22:44:41.512318737 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/ax-general.c 2015-01-06 22:44:43.167326767 +0100
|
|
|
|
|
@@ -193,7 +193,7 @@ ax_zero_ext (struct agent_expr *x, int n
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
/* 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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/ax.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/ax.h 2015-01-06 22:44:41.512318737 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/ax.h 2015-01-06 22:44:43.167326767 +0100
|
2013-08-02 20:26:03 +00:00
|
|
|
|
@@ -207,7 +207,7 @@ extern void ax_ext (struct agent_expr *E
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/breakpoint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/breakpoint.c 2015-01-06 22:44:41.516318756 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/breakpoint.c 2015-01-06 22:44:43.170326781 +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;
|
|
|
|
|
}
|
|
|
|
|
@@ -6943,7 +6943,7 @@ breakpoint_address_match (struct address
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
{
|
2013-01-19 22:41:55 +00:00
|
|
|
|
return ((gdbarch_has_global_breakpoints (target_gdbarch ())
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -11667,7 +11667,7 @@ can_use_hardware_watchpoint (struct valu
|
2012-11-09 18:03:10 +00:00
|
|
|
|
&& TYPE_CODE (vtype) != TYPE_CODE_ARRAY))
|
|
|
|
|
{
|
|
|
|
|
CORE_ADDR vaddr = value_address (v);
|
|
|
|
|
- int len;
|
|
|
|
|
+ LONGEST len;
|
|
|
|
|
int num_regs;
|
|
|
|
|
|
|
|
|
|
len = (target_exact_watchpoints
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/breakpoint.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/breakpoint.h 2015-01-06 22:44:41.517318761 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/breakpoint.h 2015-01-06 22:44:43.170326781 +0100
|
|
|
|
|
@@ -236,7 +236,7 @@ struct bp_target_info
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
/* 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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -412,7 +412,7 @@ struct bp_location
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/c-lang.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/c-lang.c 2015-01-06 22:44:41.518318766 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/c-lang.c 2015-01-06 22:44:43.170326781 +0100
|
|
|
|
|
@@ -187,7 +187,7 @@ c_printchar (int c, struct type *type, s
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -676,7 +676,7 @@ evaluate_subexp_c (struct type *expect_t
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
- int i;
|
|
|
|
|
+ LONGEST i;
|
|
|
|
|
|
|
|
|
|
/* Write the terminating character. */
|
|
|
|
|
for (i = 0; i < TYPE_LENGTH (type); ++i)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -685,7 +685,7 @@ evaluate_subexp_c (struct type *expect_t
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/c-lang.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/c-lang.h 2015-01-06 22:44:41.518318766 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/c-lang.h 2015-01-06 22:44:43.171326786 +0100
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -74,7 +74,7 @@ extern void c_print_typedef (struct type
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 *);
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -94,7 +94,7 @@ extern void c_printchar (int, struct typ
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -120,14 +120,14 @@ extern void cp_print_class_member (const
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 *,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/c-valprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/c-valprint.c 2015-01-06 22:44:41.518318766 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/c-valprint.c 2015-01-06 22:44:43.171326786 +0100
|
|
|
|
|
@@ -132,7 +132,7 @@ static const struct generic_val_print_de
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -143,7 +143,7 @@ c_val_print (struct type *type, const gd
|
2012-11-09 18:03:10 +00:00
|
|
|
|
unsigned len;
|
|
|
|
|
struct type *elttype, *unresolved_elttype;
|
|
|
|
|
struct type *unresolved_type = type;
|
|
|
|
|
- unsigned eltlen;
|
|
|
|
|
+ ULONGEST eltlen;
|
|
|
|
|
CORE_ADDR addr;
|
|
|
|
|
|
|
|
|
|
CHECK_TYPEDEF (type);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -379,9 +379,9 @@ c_val_print (struct type *type, const gd
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -460,7 +460,8 @@ c_value_print (struct value *val, struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/cp-abi.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/cp-abi.c 2015-01-06 22:44:41.518318766 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/cp-abi.c 2015-01-06 22:44:43.171326786 +0100
|
|
|
|
|
@@ -64,13 +64,13 @@ is_operator_name (const char *name)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -94,7 +94,7 @@ baseclass_offset (struct type *type, int
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -104,7 +104,7 @@ value_virtual_fn_field (struct value **a
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/cp-abi.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/cp-abi.h 2015-01-06 22:44:41.519318770 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/cp-abi.h 2015-01-06 22:44:43.171326786 +0100
|
2012-11-09 18:03:10 +00:00
|
|
|
|
@@ -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
|
2013-08-02 20:26:03 +00:00
|
|
|
|
@@ -227,12 +227,13 @@ struct cp_abi_ops
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/cp-valprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/cp-valprint.c 2015-01-06 22:44:41.519318770 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/cp-valprint.c 2015-01-06 22:44:43.172326791 +0100
|
|
|
|
|
@@ -80,7 +80,7 @@ static void cp_print_static_field (struc
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 *,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -154,7 +154,7 @@ cp_is_vtbl_member (struct type *type)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -331,7 +331,7 @@ cp_print_value_fields (struct type *type
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
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))
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -414,7 +414,7 @@ cp_print_value_fields (struct type *type
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -431,7 +431,8 @@ cp_print_value_fields_rtti (struct type
|
|
|
|
|
TARGET_CHAR_BIT * TYPE_LENGTH (type)))
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -456,7 +457,7 @@ cp_print_value_fields_rtti (struct type
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -466,7 +467,7 @@ cp_print_value (struct type *type, struc
|
2012-11-09 18:03:10 +00:00
|
|
|
|
= (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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -480,7 +481,7 @@ cp_print_value (struct type *type, struc
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/d-lang.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/d-lang.h 2015-01-06 22:44:41.519318770 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/d-lang.h 2015-01-06 22:44:43.172326791 +0100
|
|
|
|
|
@@ -71,7 +71,7 @@ extern const struct builtin_d_type *buil
|
2014-06-19 20:14:32 +00:00
|
|
|
|
/* Defined in d-valprint.c */
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/d-valprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/d-valprint.c 2015-01-06 22:44:41.519318770 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/d-valprint.c 2015-01-06 22:44:43.172326791 +0100
|
2012-11-09 18:03:10 +00:00
|
|
|
|
@@ -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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -73,9 +73,9 @@ dynamic_array_type (struct type *type, c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
/* 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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/doublest.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/doublest.c 2015-01-06 22:44:41.520318775 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/doublest.c 2015-01-06 22:44:43.172326791 +0100
|
|
|
|
|
@@ -765,7 +765,7 @@ floatformat_from_doublest (const struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -793,8 +793,8 @@ floatformat_from_length (struct gdbarch
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/dwarf2loc.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/dwarf2loc.c 2015-01-06 22:44:41.522318785 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/dwarf2loc.c 2015-01-06 22:44:43.173326796 +0100
|
|
|
|
|
@@ -1557,19 +1557,19 @@ insert_bits (unsigned int datum,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1607,13 +1607,13 @@ static void
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2013-08-02 20:26:03 +00:00
|
|
|
|
gdb_byte *buffer = NULL;
|
2012-11-09 18:03:10 +00:00
|
|
|
|
struct cleanup *cleanup;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1640,8 +1640,8 @@ read_pieced_value (struct value *v)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1790,13 +1790,13 @@ static void
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2013-08-02 20:26:03 +00:00
|
|
|
|
gdb_byte *buffer = NULL;
|
2012-11-09 18:03:10 +00:00
|
|
|
|
struct cleanup *cleanup;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1824,8 +1824,8 @@ write_pieced_value (struct value *to, st
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1953,8 +1953,8 @@ write_pieced_value (struct value *to, st
|
|
|
|
|
a synthetic pointer. */
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
static int
|
2015-01-08 20:53:17 +00:00
|
|
|
|
-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)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
struct piece_closure *c
|
2015-01-08 20:53:17 +00:00
|
|
|
|
= (struct piece_closure *) value_computed_closure (value);
|
|
|
|
|
@@ -1967,7 +1967,7 @@ check_pieced_synthetic_pointer (const st
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2009,9 +2009,10 @@ indirect_pieced_value (struct value *val
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
type = check_typedef (value_type (value));
|
|
|
|
|
if (TYPE_CODE (type) != TYPE_CODE_PTR)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2025,7 +2026,7 @@ indirect_pieced_value (struct value *val
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2303,7 +2304,7 @@ dwarf2_evaluate_loc_desc_full (struct ty
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 ();
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/dwarf2read.c 2015-01-06 22:44:41.526318805 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/dwarf2read.c 2015-01-06 22:44:43.177326815 +0100
|
|
|
|
|
@@ -1883,12 +1883,12 @@ dwarf2_complex_location_expr_complaint (
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -12370,8 +12370,8 @@ dwarf2_add_field (struct field_info *fip
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/eval.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/eval.c 2015-01-06 22:44:41.528318814 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/eval.c 2015-01-06 22:44:43.178326820 +0100
|
|
|
|
|
@@ -314,7 +314,8 @@ evaluate_struct_tuple (struct value *str
|
2013-01-19 22:41:55 +00:00
|
|
|
|
while (--nargs >= 0)
|
|
|
|
|
{
|
2012-11-09 18:03:10 +00:00
|
|
|
|
struct value *val = NULL;
|
|
|
|
|
- int bitpos, bitsize;
|
|
|
|
|
+ LONGEST bitpos;
|
2013-01-19 22:41:55 +00:00
|
|
|
|
+ int bitsize;
|
2012-11-09 18:03:10 +00:00
|
|
|
|
bfd_byte *addr;
|
|
|
|
|
|
2013-01-19 22:41:55 +00:00
|
|
|
|
fieldno++;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -375,7 +376,7 @@ init_array_element (struct value *array,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
|
|
|
|
{
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -522,11 +523,11 @@ binop_promote (const struct language_def
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -709,7 +710,7 @@ evaluate_subexp_standard (struct type *e
|
2013-01-19 22:41:55 +00:00
|
|
|
|
struct value **argvec;
|
2012-11-09 18:03:10 +00:00
|
|
|
|
int code;
|
|
|
|
|
int ix;
|
|
|
|
|
- long mem_offset;
|
|
|
|
|
+ LONGEST mem_offset;
|
|
|
|
|
struct type **arg_types;
|
|
|
|
|
int save_pos1;
|
|
|
|
|
struct symbol *function = NULL;
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -888,7 +889,7 @@ evaluate_subexp_standard (struct type *e
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1887,7 +1888,8 @@ evaluate_subexp_standard (struct type *e
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/f-lang.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/f-lang.c 2015-01-06 22:44:41.529318819 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/f-lang.c 2015-01-06 22:44:43.178326820 +0100
|
|
|
|
|
@@ -103,7 +103,7 @@ f_printchar (int c, struct type *type, s
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/f-lang.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/f-lang.h 2015-01-06 22:44:41.529318819 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/f-lang.h 2015-01-06 22:44:43.178326820 +0100
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -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 *);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
-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 *);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/f-valprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/f-valprint.c 2015-01-06 22:44:41.529318819 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/f-valprint.c 2015-01-06 22:45:07.746446028 +0100
|
|
|
|
|
@@ -38,7 +38,7 @@ extern void _initialize_f_valprint (void
|
2014-06-19 20:14:32 +00:00
|
|
|
|
static void info_common_command (char *, int);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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. */
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -73,8 +73,8 @@ f77_get_upperbound (struct type *type)
|
2014-06-19 20:14:32 +00:00
|
|
|
|
static void
|
|
|
|
|
f77_get_dynamic_length_of_aggregate (struct type *type)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
2014-06-19 20:14:32 +00:00
|
|
|
|
- int upper_bound = -1;
|
|
|
|
|
- int lower_bound = 1;
|
|
|
|
|
+ LONGEST upper_bound = -1;
|
|
|
|
|
+ LONGEST lower_bound = 1;
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
2014-06-19 20:14:32 +00:00
|
|
|
|
/* Recursively go all the way down into a possibly multi-dimensional
|
|
|
|
|
F77 array and get the bounds. For simple arrays, this is pretty
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -106,7 +106,7 @@ f77_get_dynamic_length_of_aggregate (str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -115,7 +115,7 @@ f77_print_array_1 (int nss, int ndimensi
|
2014-06-19 20:14:32 +00:00
|
|
|
|
struct type *range_type = TYPE_INDEX_TYPE (check_typedef (type));
|
|
|
|
|
CORE_ADDR addr = address + embedded_offset;
|
|
|
|
|
LONGEST lowerbound, upperbound;
|
2012-11-09 18:03:10 +00:00
|
|
|
|
- int i;
|
|
|
|
|
+ LONGEST i;
|
|
|
|
|
|
2014-06-19 20:14:32 +00:00
|
|
|
|
get_discrete_bounds (range_type, &lowerbound, &upperbound);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -178,7 +178,7 @@ f77_print_array_1 (int nss, int ndimensi
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -215,8 +215,9 @@ static const struct generic_val_print_de
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/findvar.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/findvar.c 2015-01-06 22:44:41.529318819 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/findvar.c 2015-01-06 22:44:43.179326825 +0100
|
|
|
|
|
@@ -626,7 +626,7 @@ struct value *
|
2014-06-19 20:14:32 +00:00
|
|
|
|
default_value_from_register (struct gdbarch *gdbarch, struct type *type,
|
|
|
|
|
int regnum, struct frame_id frame_id)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
- int len = TYPE_LENGTH (type);
|
|
|
|
|
+ LONGEST len = TYPE_LENGTH (type);
|
|
|
|
|
struct value *value = allocate_value (type);
|
|
|
|
|
|
|
|
|
|
VALUE_LVAL (value) = lval_register;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -659,10 +659,10 @@ void
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -677,7 +677,7 @@ read_frame_register_value (struct value
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
/* If the register length is larger than the number of bytes
|
|
|
|
|
remaining to copy, then only copy the appropriate bytes. */
|
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/frame.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/frame.c 2015-01-06 22:44:41.530318824 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/frame.c 2015-01-06 22:44:43.180326830 +0100
|
|
|
|
|
@@ -1269,7 +1269,7 @@ deprecated_frame_register_read (struct f
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1298,7 +1298,7 @@ get_frame_register_bytes (struct frame_i
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/frame.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/frame.h 2015-01-06 22:44:41.530318824 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/frame.h 2015-01-06 22:44:43.180326830 +0100
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -583,7 +583,7 @@ extern void put_frame_register (struct f
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/gdbtypes.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/gdbtypes.c 2015-01-06 22:44:41.532318834 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/gdbtypes.c 2015-01-06 22:44:43.181326835 +0100
|
|
|
|
|
@@ -2477,7 +2477,7 @@ allocate_gnat_aux_type (struct type *typ
|
2013-02-18 17:14:00 +00:00
|
|
|
|
least as long as OBJFILE. */
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
struct type *
|
|
|
|
|
-init_type (enum type_code code, int length, int flags,
|
|
|
|
|
+init_type (enum type_code code, LONGEST length, int flags,
|
2013-02-18 17:14:00 +00:00
|
|
|
|
const char *name, struct objfile *objfile)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
struct type *type;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2717,8 +2717,8 @@ is_public_ancestor (struct type *base, s
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2729,7 +2729,7 @@ is_unique_ancestor_worker (struct type *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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));
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2770,7 +2770,7 @@ is_unique_ancestor_worker (struct type *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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),
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -3915,7 +3915,7 @@ recursive_dump_type (struct type *type,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 ");
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -4039,8 +4039,8 @@ recursive_dump_type (struct type *type,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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' (",
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -4397,7 +4397,7 @@ copy_type (const struct type *type)
|
2013-01-19 22:41:55 +00:00
|
|
|
|
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/gdbtypes.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/gdbtypes.h 2015-01-06 22:44:41.533318838 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/gdbtypes.h 2015-01-06 22:44:43.181326835 +0100
|
|
|
|
|
@@ -598,7 +598,7 @@ struct main_type
|
2012-11-09 18:03:10 +00:00
|
|
|
|
gdbarch_bits_big_endian=0 targets, it is the bit offset to
|
|
|
|
|
the LSB. */
|
|
|
|
|
|
|
|
|
|
- int bitpos;
|
|
|
|
|
+ LONGEST bitpos;
|
|
|
|
|
|
2014-06-19 20:14:32 +00:00
|
|
|
|
/* * Enum value. */
|
2012-11-09 18:03:10 +00:00
|
|
|
|
LONGEST enumval;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -801,7 +801,7 @@ struct type
|
2012-11-09 18:03:10 +00:00
|
|
|
|
HOST_CHAR_BIT. However, this would still fail to address
|
|
|
|
|
machines based on a ternary or decimal representation. */
|
|
|
|
|
|
|
|
|
|
- unsigned length;
|
|
|
|
|
+ ULONGEST length;
|
|
|
|
|
|
2014-06-19 20:14:32 +00:00
|
|
|
|
/* * Core type, shared by a group of qualified types. */
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1641,11 +1641,12 @@ extern struct type *get_target_type (str
|
2014-06-19 20:14:32 +00:00
|
|
|
|
|
|
|
|
|
/* * Helper function to construct objfile-owned types. */
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
2013-02-18 17:14:00 +00:00
|
|
|
|
-extern struct type *init_type (enum type_code, int, int, const char *,
|
|
|
|
|
+extern struct type *init_type (enum type_code, LONGEST, int, const char *,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 *);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/gnu-v2-abi.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/gnu-v2-abi.c 2015-01-06 22:44:41.533318838 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/gnu-v2-abi.c 2015-01-06 22:44:43.181326835 +0100
|
|
|
|
|
@@ -82,7 +82,7 @@ gnuv2_is_operator_name (const char *name
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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));
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -183,7 +183,8 @@ gnuv2_virtual_fn_field (struct value **a
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -338,9 +339,9 @@ vb_match (struct type *type, int index,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -358,8 +359,8 @@ gnuv2_baseclass_offset (struct type *typ
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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));
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -383,7 +384,7 @@ gnuv2_baseclass_offset (struct type *typ
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/gnu-v3-abi.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/gnu-v3-abi.c 2015-01-06 22:44:41.534318843 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/gnu-v3-abi.c 2015-01-06 22:44:43.181326835 +0100
|
|
|
|
|
@@ -108,7 +108,7 @@ build_gdb_vtable_type (struct gdbarch *a
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
struct type *t;
|
|
|
|
|
struct field *field_list, *field;
|
|
|
|
|
- int offset;
|
|
|
|
|
+ LONGEST offset;
|
|
|
|
|
|
|
|
|
|
struct type *void_ptr_type
|
|
|
|
|
= builtin_type (arch)->builtin_data_ptr;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -184,7 +184,7 @@ vtable_ptrdiff_type (struct gdbarch *gdb
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -275,7 +275,7 @@ gnuv3_get_vtable (struct gdbarch *gdbarc
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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));
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -400,7 +400,7 @@ gnuv3_get_virtual_fn (struct gdbarch *gd
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -430,16 +430,16 @@ gnuv3_virtual_fn_field (struct value **v
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
-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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -463,7 +463,7 @@ gnuv3_baseclass_offset (struct type *typ
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -507,7 +507,7 @@ gnuv3_find_method_in (struct type *domai
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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))
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/go-lang.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/go-lang.h 2015-01-06 22:44:41.534318843 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/go-lang.h 2015-01-06 22:44:43.182326840 +0100
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -85,7 +85,7 @@ extern void go_print_type (struct type *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/go-valprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/go-valprint.c 2015-01-06 22:44:41.534318843 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/go-valprint.c 2015-01-06 22:44:43.182326840 +0100
|
2012-11-09 18:03:10 +00:00
|
|
|
|
@@ -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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/inf-ttrace.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/inf-ttrace.c 2015-01-06 22:44:41.535318848 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/inf-ttrace.c 2015-01-06 22:44:43.182326840 +0100
|
|
|
|
|
@@ -366,7 +366,7 @@ inf_ttrace_can_use_hw_breakpoint (struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
static int
|
2014-06-19 20:14:32 +00:00
|
|
|
|
inf_ttrace_region_ok_for_hw_watchpoint (struct target_ops *self,
|
|
|
|
|
- CORE_ADDR addr, int len)
|
|
|
|
|
+ CORE_ADDR addr, LONGEST len)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/jv-lang.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/jv-lang.c 2015-01-06 22:44:41.535318848 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/jv-lang.c 2015-01-06 22:44:43.182326840 +0100
|
2013-08-02 20:26:03 +00:00
|
|
|
|
@@ -436,7 +436,7 @@ java_link_class_type (struct gdbarch *gd
|
2012-11-09 18:03:10 +00:00
|
|
|
|
for (i = TYPE_N_BASECLASSES (type); i < nfields; i++)
|
|
|
|
|
{
|
|
|
|
|
int accflags;
|
|
|
|
|
- int boffset;
|
|
|
|
|
+ LONGEST boffset;
|
|
|
|
|
|
|
|
|
|
if (fields == NULL)
|
|
|
|
|
{
|
2013-08-02 20:26:03 +00:00
|
|
|
|
@@ -886,7 +886,7 @@ java_printchar (int c, struct type *type
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/jv-lang.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/jv-lang.h 2015-01-06 22:44:41.535318848 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/jv-lang.h 2015-01-06 22:44:43.182326840 +0100
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -43,8 +43,8 @@ struct builtin_java_type
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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 *);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/jv-valprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/jv-valprint.c 2015-01-06 22:44:41.535318848 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/jv-valprint.c 2015-01-06 22:44:43.182326840 +0100
|
|
|
|
|
@@ -265,7 +265,7 @@ java_value_print (struct value *val, str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -453,7 +453,7 @@ java_print_value_fields (struct type *ty
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/language.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/language.c 2015-01-06 22:44:41.536318853 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/language.c 2015-01-06 22:44:43.183326844 +0100
|
|
|
|
|
@@ -720,7 +720,7 @@ unk_lang_printchar (int c, struct type *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -739,7 +739,7 @@ unk_lang_print_type (struct type *type,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/language.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/language.h 2015-01-06 22:44:41.536318853 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/language.h 2015-01-06 22:44:43.183326844 +0100
|
|
|
|
|
@@ -189,7 +189,7 @@ struct language_defn
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 *);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -231,7 +231,7 @@ struct language_defn
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/m2-lang.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/m2-lang.c 2015-01-06 22:44:41.536318853 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/m2-lang.c 2015-01-06 22:44:43.183326844 +0100
|
2014-02-07 18:38:14 +00:00
|
|
|
|
@@ -104,10 +104,10 @@ m2_printchar (int c, struct type *type,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
2014-02-07 18:38:14 +00:00
|
|
|
|
@@ -122,9 +122,9 @@ m2_printstr (struct ui_file *stream, str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
/* 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;
|
|
|
|
|
|
2014-02-07 18:38:14 +00:00
|
|
|
|
@@ -150,7 +150,7 @@ m2_printstr (struct ui_file *stream, str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/m2-lang.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/m2-lang.h 2015-01-06 22:44:41.536318853 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/m2-lang.h 2015-01-06 22:44:43.183326844 +0100
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -34,7 +34,7 @@ extern void m2_print_typedef (struct typ
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 *);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/m2-typeprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/m2-typeprint.c 2015-01-06 22:44:41.537318858 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/m2-typeprint.c 2015-01-06 22:44:43.183326844 +0100
|
|
|
|
|
@@ -230,9 +230,12 @@ static void m2_array (struct type *type,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 ");
|
2013-01-19 22:41:55 +00:00
|
|
|
|
m2_print_type (TYPE_TARGET_TYPE (type), "", stream, show, level, flags);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/m2-valprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/m2-valprint.c 2015-01-06 22:44:41.537318858 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/m2-valprint.c 2015-01-06 22:44:43.183326844 +0100
|
2013-01-19 22:41:55 +00:00
|
|
|
|
@@ -35,7 +35,7 @@ static int print_unpacked_pointer (struc
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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,
|
2013-01-19 22:41:55 +00:00
|
|
|
|
@@ -67,7 +67,7 @@ get_long_set_bounds (struct type *type,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
2013-01-19 22:41:55 +00:00
|
|
|
|
@@ -158,7 +158,7 @@ m2_print_long_set (struct type *type, co
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
{
|
2013-01-19 22:41:55 +00:00
|
|
|
|
@@ -262,7 +262,7 @@ print_variable_at_address (struct type *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2013-01-19 22:41:55 +00:00
|
|
|
|
@@ -308,14 +308,15 @@ static const struct generic_val_print_de
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
|
2013-01-19 22:41:55 +00:00
|
|
|
|
@@ -340,7 +341,7 @@ m2_val_print (struct type *type, const g
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/memrange.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/memrange.c 2015-01-06 22:44:41.537318858 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/memrange.c 2015-01-06 22:44:43.184326849 +0100
|
2012-11-09 18:03:10 +00:00
|
|
|
|
@@ -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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/memrange.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/memrange.h 2015-01-06 22:44:41.537318858 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/memrange.h 2015-01-06 22:44:43.184326849 +0100
|
2012-11-09 18:03:10 +00:00
|
|
|
|
@@ -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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
/* Returns true if ADDR is in RANGE. */
|
|
|
|
|
|
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/mips-linux-nat.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/mips-linux-nat.c 2015-01-06 22:44:41.537318858 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/mips-linux-nat.c 2015-01-06 22:44:43.184326849 +0100
|
|
|
|
|
@@ -586,7 +586,7 @@ mips_linux_stopped_data_address (struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
static int
|
2014-06-19 20:14:32 +00:00
|
|
|
|
mips_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
|
|
|
|
|
- CORE_ADDR addr, int len)
|
|
|
|
|
+ CORE_ADDR addr, LONGEST len)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
struct pt_watch_regs dummy_regs;
|
|
|
|
|
int i;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/opencl-lang.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/opencl-lang.c 2015-01-06 22:44:41.538318863 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/opencl-lang.c 2015-01-06 22:44:43.184326849 +0100
|
|
|
|
|
@@ -78,11 +78,11 @@ builtin_opencl_type (struct gdbarch *gdb
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -172,9 +172,9 @@ lval_func_read (struct value *v)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -201,9 +201,9 @@ lval_func_write (struct value *v, struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -243,17 +243,17 @@ lval_func_write (struct value *v, struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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 =
|
2015-01-08 20:53:17 +00:00
|
|
|
|
+ LONGEST elsize =
|
|
|
|
|
TYPE_LENGTH (TYPE_TARGET_TYPE (check_typedef (value_type (c->val)))) * 8;
|
2012-11-09 18:03:10 +00:00
|
|
|
|
- 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++;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -263,8 +263,8 @@ lval_func_check_synthetic_pointer (const
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/p-lang.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/p-lang.c 2015-01-06 22:44:41.538318863 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/p-lang.c 2015-01-06 22:44:43.184326849 +0100
|
|
|
|
|
@@ -95,8 +95,8 @@ pascal_main_name (void)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -216,12 +216,12 @@ pascal_printchar (int c, struct type *ty
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -249,9 +249,9 @@ pascal_printstr (struct ui_file *stream,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
/* 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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -283,7 +283,7 @@ pascal_printstr (struct ui_file *stream,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/p-lang.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/p-lang.h 2015-01-06 22:44:41.538318863 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/p-lang.h 2015-01-06 22:44:43.184326849 +0100
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -36,7 +36,7 @@ extern void pascal_print_type (struct ty
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 *);
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -50,13 +50,13 @@ extern void pascal_type_print_method_arg
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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[]);
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -72,7 +72,7 @@ extern void
|
2013-01-19 22:41:55 +00:00
|
|
|
|
const struct type_print_options *);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
extern void pascal_object_print_value_fields (struct type *, const gdb_byte *,
|
|
|
|
|
- int,
|
|
|
|
|
+ LONGEST,
|
|
|
|
|
CORE_ADDR, struct ui_file *,
|
|
|
|
|
int,
|
|
|
|
|
const struct value *,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/p-valprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/p-valprint.c 2015-01-06 22:44:41.539318868 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/p-valprint.c 2015-01-06 22:44:43.185326854 +0100
|
|
|
|
|
@@ -57,7 +57,7 @@ static const struct generic_val_print_de
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -68,8 +68,8 @@ pascal_val_print (struct type *type, con
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -467,7 +467,7 @@ static void pascal_object_print_static_f
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 *,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -526,7 +526,7 @@ pascal_object_is_vtbl_member (struct typ
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -697,7 +697,7 @@ pascal_object_print_value_fields (struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -720,11 +720,11 @@ pascal_object_print_value (struct type *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/ppc-linux-nat.c 2015-01-06 22:44:41.539318868 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/ppc-linux-nat.c 2015-01-06 22:44:43.185326854 +0100
|
|
|
|
|
@@ -1501,7 +1501,7 @@ ppc_linux_can_use_hw_breakpoint (struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
static int
|
2014-06-19 20:14:32 +00:00
|
|
|
|
ppc_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
|
|
|
|
|
- CORE_ADDR addr, int len)
|
|
|
|
|
+ CORE_ADDR addr, LONGEST len)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
/* Handle sub-8-byte quantities. */
|
|
|
|
|
if (len <= 0)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/printcmd.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/printcmd.c 2015-01-06 22:44:41.540318872 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/printcmd.c 2015-01-06 22:44:43.185326854 +0100
|
|
|
|
|
@@ -285,7 +285,7 @@ print_formatted (struct value *val, int
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -363,7 +363,7 @@ print_scalar_formatted (const void *vala
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
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. */
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/procfs.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/procfs.c 2015-01-06 22:44:41.541318877 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/procfs.c 2015-01-06 22:44:43.186326859 +0100
|
|
|
|
|
@@ -4859,7 +4859,7 @@ procfs_remove_watchpoint (struct target_
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
static int
|
2014-06-19 20:14:32 +00:00
|
|
|
|
procfs_region_ok_for_hw_watchpoint (struct target_ops *self,
|
|
|
|
|
- CORE_ADDR addr, int len)
|
|
|
|
|
+ CORE_ADDR addr, LONGEST len)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
/* The man page for proc(4) on Solaris 2.6 and up says that the
|
|
|
|
|
system can support "thousands" of hardware watchpoints, but gives
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/python/py-prettyprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/python/py-prettyprint.c 2015-01-06 22:44:41.541318877 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/python/py-prettyprint.c 2015-01-06 22:44:43.186326859 +0100
|
|
|
|
|
@@ -686,7 +686,7 @@ print_children (PyObject *printer, const
|
2014-06-19 20:14:32 +00:00
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/regcache.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/regcache.c 2015-01-06 22:44:41.542318882 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/regcache.c 2015-01-06 22:44:43.187326864 +0100
|
|
|
|
|
@@ -941,7 +941,7 @@ typedef void (regcache_write_ftype) (str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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),
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -985,7 +985,7 @@ regcache_xfer_part (struct regcache *reg
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -996,7 +996,7 @@ regcache_raw_read_part (struct regcache
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1007,7 +1007,7 @@ regcache_raw_write_part (struct regcache
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1018,7 +1018,7 @@ regcache_cooked_read_part (struct regcac
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/regcache.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/regcache.h 2015-01-06 22:44:41.542318882 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/regcache.h 2015-01-06 22:44:43.187326864 +0100
|
|
|
|
|
@@ -92,9 +92,9 @@ extern void regcache_raw_write_unsigned
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -131,10 +131,11 @@ extern void regcache_cooked_write_unsign
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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. */
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/remote.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/remote.c 2015-01-06 22:44:41.544318892 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/remote.c 2015-01-06 22:44:43.188326869 +0100
|
|
|
|
|
@@ -8371,7 +8371,7 @@ int remote_hw_breakpoint_limit = -1;
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
static int
|
2014-06-19 20:14:32 +00:00
|
|
|
|
remote_region_ok_for_hw_watchpoint (struct target_ops *self,
|
|
|
|
|
- CORE_ADDR addr, int len)
|
|
|
|
|
+ CORE_ADDR addr, LONGEST len)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
if (remote_hw_watchpoint_length_limit == 0)
|
|
|
|
|
return 0;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/spu-multiarch.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/spu-multiarch.c 2015-01-06 22:44:41.545318897 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/spu-multiarch.c 2015-01-06 22:44:43.188326869 +0100
|
|
|
|
|
@@ -117,7 +117,7 @@ spu_thread_architecture (struct target_o
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* Override the to_region_ok_for_hw_watchpoint routine. */
|
|
|
|
|
static int
|
2014-06-19 20:14:32 +00:00
|
|
|
|
spu_region_ok_for_hw_watchpoint (struct target_ops *self,
|
|
|
|
|
- CORE_ADDR addr, int len)
|
|
|
|
|
+ CORE_ADDR addr, LONGEST len)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
struct target_ops *ops_beneath = find_target_beneath (self);
|
|
|
|
|
|
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/stack.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/stack.c 2015-01-06 22:44:41.546318902 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/stack.c 2015-01-06 22:44:43.189326874 +0100
|
|
|
|
|
@@ -175,7 +175,7 @@ print_stack_frame (struct frame_info *fr
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -524,7 +524,7 @@ print_frame_args (struct symbol *func, s
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -558,8 +558,8 @@ print_frame_args (struct symbol *func, s
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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. */
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -694,7 +694,7 @@ print_frame_args (struct symbol *func, s
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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));
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/symmisc.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/symmisc.c 2015-01-06 22:44:41.546318902 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/symmisc.c 2015-01-06 22:44:43.189326874 +0100
|
|
|
|
|
@@ -534,11 +534,11 @@ print_symbol (void *args)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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]);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/target.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/target.c 2015-01-06 22:44:41.547318906 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/target.c 2015-01-06 22:44:43.190326878 +0100
|
|
|
|
|
@@ -54,7 +54,7 @@ static int default_watchpoint_addr_withi
|
2012-11-09 18:03:10 +00:00
|
|
|
|
CORE_ADDR, CORE_ADDR, int);
|
|
|
|
|
|
2014-06-19 20:14:32 +00:00
|
|
|
|
static int default_region_ok_for_hw_watchpoint (struct target_ops *,
|
|
|
|
|
- CORE_ADDR, int);
|
|
|
|
|
+ CORE_ADDR, LONGEST);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
static void default_rcmd (struct target_ops *, const char *, struct ui_file *);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2975,7 +2975,7 @@ target_fileio_read_stralloc (const char
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
static int
|
2014-06-19 20:14:32 +00:00
|
|
|
|
default_region_ok_for_hw_watchpoint (struct target_ops *self,
|
|
|
|
|
- CORE_ADDR addr, int len)
|
|
|
|
|
+ CORE_ADDR addr, LONGEST len)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
2013-01-19 22:41:55 +00:00
|
|
|
|
return (len <= gdbarch_ptr_bit (target_gdbarch ()) / TARGET_CHAR_BIT);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/target.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/target.h 2015-01-06 22:44:41.547318906 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/target.h 2015-01-06 22:44:43.190326878 +0100
|
|
|
|
|
@@ -489,7 +489,7 @@ struct target_ops
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* Documentation of this routine is provided with the corresponding
|
|
|
|
|
target_* macro. */
|
2014-06-19 20:14:32 +00:00
|
|
|
|
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);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
2014-06-19 20:14:32 +00:00
|
|
|
|
int (*to_can_accel_watchpoint_condition) (struct target_ops *,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/tracepoint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/tracepoint.c 2015-01-06 22:44:41.549318916 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/tracepoint.c 2015-01-06 22:44:43.191326883 +0100
|
|
|
|
|
@@ -928,13 +928,13 @@ add_register (struct collection_list *co
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 */
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -964,7 +964,7 @@ collect_symbol (struct collection_list *
|
2013-08-02 20:26:03 +00:00
|
|
|
|
CORE_ADDR scope,
|
|
|
|
|
int trace_string)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
- unsigned long len;
|
|
|
|
|
+ ULONGEST len;
|
|
|
|
|
unsigned int reg;
|
|
|
|
|
bfd_signed_vma offset;
|
|
|
|
|
int treat_as_expr = 0;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -988,8 +988,8 @@ collect_symbol (struct collection_list *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1021,8 +1021,8 @@ collect_symbol (struct collection_list *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
|
|
|
|
}
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1033,8 +1033,8 @@ collect_symbol (struct collection_list *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
|
|
|
|
}
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1045,8 +1045,8 @@ collect_symbol (struct collection_list *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
|
|
|
|
}
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -2709,7 +2709,8 @@ scope_info (char *args, int from_tty)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -2845,8 +2846,11 @@ scope_info (char *args, int from_tty)
|
2013-08-02 20:26:03 +00:00
|
|
|
|
}
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/typeprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/typeprint.c 2015-01-06 22:44:41.550318921 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/typeprint.c 2015-01-06 22:44:43.191326883 +0100
|
|
|
|
|
@@ -402,7 +402,7 @@ whatis_exp (char *exp, int show)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2013-01-19 22:41:55 +00:00
|
|
|
|
struct type_print_options flags = default_ptype_flags;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/valarith.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/valarith.c 2015-01-06 22:44:41.550318921 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/valarith.c 2015-01-06 22:45:54.011670512 +0100
|
|
|
|
|
@@ -188,12 +188,13 @@ value_subscript (struct value *array, LO
|
2012-11-09 18:03:10 +00:00
|
|
|
|
to doubles, but no longer does. */
|
|
|
|
|
|
|
|
|
|
struct value *
|
|
|
|
|
-value_subscripted_rvalue (struct value *array, LONGEST index, int lowerbound)
|
2014-06-19 20:14:32 +00:00
|
|
|
|
+value_subscripted_rvalue (struct value *array, LONGEST index,
|
|
|
|
|
+ LONGEST lowerbound)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
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);
|
2014-06-19 20:14:32 +00:00
|
|
|
|
- unsigned int elt_offs;
|
2012-11-09 18:03:10 +00:00
|
|
|
|
+ ULONGEST elt_size = TYPE_LENGTH (elt_type);
|
2014-06-19 20:14:32 +00:00
|
|
|
|
+ ULONGEST elt_offs;
|
|
|
|
|
LONGEST elt_stride = TYPE_BYTE_STRIDE (TYPE_INDEX_TYPE (array_type));
|
2012-11-09 18:03:10 +00:00
|
|
|
|
struct value *v;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -202,7 +203,7 @@ value_subscripted_rvalue (struct value *
|
2014-06-19 20:14:32 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -663,7 +664,7 @@ value_concat (struct value *arg1, struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
struct value *inval1;
|
|
|
|
|
struct value *inval2;
|
|
|
|
|
struct value *outval = NULL;
|
|
|
|
|
- int inval1len, inval2len;
|
|
|
|
|
+ ssize_t inval1len, inval2len;
|
|
|
|
|
int count, idx;
|
|
|
|
|
char *ptr;
|
|
|
|
|
char inchar;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1516,7 +1517,7 @@ value_binop (struct value *arg1, struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
int
|
|
|
|
|
value_logical_not (struct value *arg1)
|
|
|
|
|
{
|
|
|
|
|
- int len;
|
|
|
|
|
+ LONGEST len;
|
|
|
|
|
const gdb_byte *p;
|
|
|
|
|
struct type *type1;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1547,11 +1548,11 @@ value_logical_not (struct value *arg1)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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++)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/valops.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/valops.c 2015-01-06 22:44:41.555318945 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/valops.c 2015-01-06 22:44:43.192326888 +0100
|
|
|
|
|
@@ -47,11 +47,11 @@ static int typecmp (int staticp, int var
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 *,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -79,7 +79,7 @@ oload_classification classify_oload_matc
|
2012-11-09 18:03:10 +00:00
|
|
|
|
int, int);
|
|
|
|
|
|
|
|
|
|
static struct value *value_struct_elt_for_reference (struct type *,
|
|
|
|
|
- int, struct type *,
|
|
|
|
|
+ LONGEST, struct type *,
|
2014-06-19 20:14:32 +00:00
|
|
|
|
const char *,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
struct type *,
|
|
|
|
|
int, enum noside);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -96,9 +96,9 @@ static CORE_ADDR allocate_space_in_infer
|
2012-11-09 18:03:10 +00:00
|
|
|
|
static struct value *cast_into_complex (struct type *, struct value *);
|
|
|
|
|
|
2014-06-19 20:14:32 +00:00
|
|
|
|
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 *);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
void _initialize_valops (void);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -183,7 +183,7 @@ find_function_in_inferior (const char *n
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -256,7 +256,8 @@ value_cast_structs (struct type *type, s
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -396,12 +397,12 @@ value_cast (struct type *type, struct va
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -635,7 +636,7 @@ value_reinterpret_cast (struct type *typ
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -647,8 +648,8 @@ dynamic_cast_check_1 (struct type *desir
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)))
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -682,7 +683,7 @@ dynamic_cast_check_1 (struct type *desir
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -692,7 +693,7 @@ dynamic_cast_check_2 (struct type *desir
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -723,7 +724,8 @@ dynamic_cast_check_2 (struct type *desir
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -954,7 +956,7 @@ value_at_lazy (struct type *type, CORE_A
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1054,7 +1056,7 @@ value_assign (struct value *toval, struc
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
const gdb_byte *dest_buffer;
|
|
|
|
|
CORE_ADDR changed_addr;
|
|
|
|
|
- int changed_len;
|
|
|
|
|
+ LONGEST changed_len;
|
|
|
|
|
gdb_byte buffer[sizeof (LONGEST)];
|
|
|
|
|
|
|
|
|
|
if (value_bitsize (toval))
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -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
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
int nelem;
|
|
|
|
|
int idx;
|
|
|
|
|
- unsigned int typelength;
|
|
|
|
|
+ ULONGEST typelength;
|
|
|
|
|
struct value *val;
|
|
|
|
|
struct type *arraytype;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1779,7 +1781,7 @@ typecmp (int staticp, int varargs, int n
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1803,10 +1805,10 @@ update_search_result (struct value **res
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1853,7 +1855,7 @@ do_search_struct_field (const char *name
|
2012-11-09 18:03:10 +00:00
|
|
|
|
<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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1892,7 +1894,7 @@ do_search_struct_field (const char *name
|
2012-11-09 18:03:10 +00:00
|
|
|
|
&& (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))
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1965,11 +1967,11 @@ do_search_struct_field (const char *name
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1986,7 +1988,7 @@ search_struct_field (const char *name, s
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2050,8 +2052,8 @@ search_struct_method (const char *name,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
for (i = TYPE_N_BASECLASSES (type) - 1; i >= 0; i--)
|
|
|
|
|
{
|
|
|
|
|
- int base_offset;
|
|
|
|
|
- int this_offset;
|
2013-02-18 17:14:00 +00:00
|
|
|
|
+ LONGEST base_offset;
|
2012-11-09 18:03:10 +00:00
|
|
|
|
+ LONGEST this_offset;
|
|
|
|
|
|
|
|
|
|
if (BASETYPE_VIA_VIRTUAL (type, i))
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2286,10 +2288,10 @@ value_struct_elt_bitpos (struct value **
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
2014-06-19 20:14:32 +00:00
|
|
|
|
static void
|
2012-11-09 18:03:10 +00:00
|
|
|
|
find_method_list (struct value **argp, const char *method,
|
2014-06-19 20:14:32 +00:00
|
|
|
|
- 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,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
- struct type **basetype, int *boffset)
|
|
|
|
|
+ struct type **basetype, LONGEST *boffset)
|
|
|
|
|
{
|
|
|
|
|
int i;
|
2014-06-19 20:14:32 +00:00
|
|
|
|
struct fn_field *f = NULL;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2346,7 +2348,7 @@ find_method_list (struct value **argp, c
|
2014-06-19 20:14:32 +00:00
|
|
|
|
extension methods. */
|
2012-11-09 18:03:10 +00:00
|
|
|
|
for (i = TYPE_N_BASECLASSES (type) - 1; i >= 0; i--)
|
|
|
|
|
{
|
|
|
|
|
- int base_offset;
|
|
|
|
|
+ LONGEST base_offset;
|
|
|
|
|
|
|
|
|
|
if (BASETYPE_VIA_VIRTUAL (type, i))
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2389,7 +2391,7 @@ value_find_oload_method_list (struct val
|
2014-06-19 20:14:32 +00:00
|
|
|
|
int offset, struct fn_field **fn_list,
|
|
|
|
|
int *num_fns,
|
|
|
|
|
VEC (xmethod_worker_ptr) **xm_worker_vec,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
- struct type **basetype, int *boffset)
|
|
|
|
|
+ struct type **basetype, LONGEST *boffset)
|
|
|
|
|
{
|
|
|
|
|
struct type *t;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2500,7 +2502,7 @@ find_overload_match (struct value **args
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -3315,7 +3317,7 @@ compare_parameters (struct type *t1, str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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,
|
2014-06-19 20:14:32 +00:00
|
|
|
|
struct type *curtype, const char *name,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
struct type *intype,
|
|
|
|
|
int want_address,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -3349,7 +3351,7 @@ value_struct_elt_for_reference (struct t
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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));
|
2014-02-07 18:38:14 +00:00
|
|
|
|
else if (noside != EVAL_NORMAL)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
return allocate_value (TYPE_FIELD_TYPE (t, i));
|
|
|
|
|
else
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -3517,7 +3519,7 @@ value_struct_elt_for_reference (struct t
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -3598,7 +3600,7 @@ value_maybe_namespace_elt (const struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -3648,12 +3650,12 @@ value_rtti_indirect_type (struct value *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/valprint.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/valprint.c 2015-01-06 22:44:41.557318955 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/valprint.c 2015-01-06 22:44:43.193326893 +0100
|
|
|
|
|
@@ -298,7 +298,7 @@ val_print_scalar_type_p (struct type *ty
|
2012-11-09 18:03:10 +00:00
|
|
|
|
int
|
|
|
|
|
valprint_check_validity (struct ui_file *stream,
|
|
|
|
|
struct type *type,
|
|
|
|
|
- int embedded_offset,
|
|
|
|
|
+ LONGEST embedded_offset,
|
|
|
|
|
const struct value *val)
|
|
|
|
|
{
|
|
|
|
|
CHECK_TYPEDEF (type);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -396,7 +396,7 @@ val_print_not_associated (struct ui_file
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -758,7 +758,7 @@ generic_val_print (struct type *type, co
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -996,7 +996,7 @@ val_print_type_code_flags (struct type *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1538,7 +1538,7 @@ print_decimal_chars (struct ui_file *str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1655,22 +1655,22 @@ maybe_print_array_index (struct type *in
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
2014-06-19 20:14:32 +00:00
|
|
|
|
|
|
|
|
|
elttype = TYPE_TARGET_TYPE (type);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1741,7 +1741,7 @@ val_print_array_elements (struct type *t
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2397,7 +2397,7 @@ print_converted_chars_to_obstack (struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/valprint.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/valprint.h 2015-01-06 22:44:41.557318955 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/valprint.h 2015-01-06 22:44:43.193326893 +0100
|
2013-08-02 20:26:03 +00:00
|
|
|
|
@@ -115,11 +115,11 @@ extern void maybe_print_array_index (str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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 *);
|
2013-08-02 20:26:03 +00:00
|
|
|
|
@@ -129,7 +129,7 @@ extern void val_print_type_code_flags (s
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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,
|
2013-08-02 20:26:03 +00:00
|
|
|
|
@@ -145,7 +145,7 @@ extern void print_decimal_chars (struct
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2014-02-07 18:38:14 +00:00
|
|
|
|
@@ -194,7 +194,7 @@ struct generic_val_print_decorations
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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,
|
2014-02-07 18:38:14 +00:00
|
|
|
|
@@ -204,7 +204,7 @@ extern void generic_emit_char (int c, st
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/value.c
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/value.c 2015-01-06 22:44:41.562318979 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/value.c 2015-01-06 22:44:43.194326898 +0100
|
|
|
|
|
@@ -66,10 +66,10 @@ struct internal_function
|
2012-11-09 18:03:10 +00:00
|
|
|
|
struct range
|
|
|
|
|
{
|
|
|
|
|
/* Lowest offset in the range. */
|
|
|
|
|
- int offset;
|
|
|
|
|
+ LONGEST offset;
|
|
|
|
|
|
|
|
|
|
/* Length of the range. */
|
|
|
|
|
- int length;
|
|
|
|
|
+ LONGEST length;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
typedef struct range range_s;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -80,8 +80,8 @@ DEF_VEC_O(range_s);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
[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;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -105,7 +105,7 @@ range_lessthan (const range_s *r1, const
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -240,7 +240,7 @@ struct value
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -310,8 +310,8 @@ struct value
|
2012-11-09 18:03:10 +00:00
|
|
|
|
`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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -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
|
2014-02-07 18:38:14 +00:00
|
|
|
|
}
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
int
|
|
|
|
|
-value_bytes_available (const struct value *value, int offset, int length)
|
|
|
|
|
+value_bytes_available (const struct value *value, LONGEST offset,
|
|
|
|
|
+ LONGEST length)
|
|
|
|
|
{
|
2014-02-07 18:38:14 +00:00
|
|
|
|
return value_bits_available (value,
|
|
|
|
|
offset * TARGET_CHAR_BIT,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -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
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|
-mark_value_bytes_unavailable (struct value *value, int offset, int length)
|
|
|
|
|
+mark_value_bytes_unavailable (struct value *value, LONGEST offset,
|
|
|
|
|
+ LONGEST length)
|
|
|
|
|
{
|
2014-02-07 18:38:14 +00:00
|
|
|
|
mark_value_bits_unavailable (value,
|
|
|
|
|
offset * TARGET_CHAR_BIT,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -605,7 +609,7 @@ mark_value_bytes_unavailable (struct val
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -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
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int
|
2015-01-08 20:53:17 +00:00
|
|
|
|
-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
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
}
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1246,8 +1250,9 @@ value_ranges_copy_adjusted (struct value
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1293,8 +1298,8 @@ value_contents_copy_raw (struct value *d
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
if (src->lazy)
|
|
|
|
|
value_fetch_lazy (src);
|
|
|
|
|
@@ -1358,7 +1363,8 @@ value_optimized_out (struct value *value
|
|
|
|
|
the following LENGTH bytes. */
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
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. */
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
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)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
insert_into_bit_range_vector (&value->optimized_out, offset, length);
|
|
|
|
|
}
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1385,26 +1392,26 @@ value_bits_synthetic_pointer (const stru
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
|
|
|
|
}
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2263,7 +2270,7 @@ get_internalvar_function (struct interna
|
2012-11-09 18:03:10 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -2969,7 +2976,7 @@ set_value_enclosing_type (struct value *
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -3019,7 +3026,7 @@ value_primitive_field (struct value *arg
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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))
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -3105,7 +3112,7 @@ value_field (struct value *arg1, int fie
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -3175,14 +3182,14 @@ value_fn_field (struct value **arg1p, st
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
static LONGEST
|
|
|
|
|
unpack_bits_as_long (struct type *field_type, const gdb_byte *valaddr,
|
|
|
|
|
- int bitpos, int bitsize)
|
|
|
|
|
+ LONGEST bitpos, int bitsize)
|
2012-11-09 18:03:10 +00:00
|
|
|
|
{
|
|
|
|
|
enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (field_type));
|
2015-01-08 20:53:17 +00:00
|
|
|
|
ULONGEST val;
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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. */
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -3231,7 +3238,7 @@ unpack_bits_as_long (struct type *field_
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
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
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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)
|
|
|
|
|
{
|
2015-01-08 20:53:17 +00:00
|
|
|
|
int bitpos = TYPE_FIELD_BITPOS (type, fieldno);
|
|
|
|
|
int bitsize = TYPE_FIELD_BITSIZE (type, fieldno);
|
|
|
|
|
@@ -3334,12 +3341,12 @@ value_field_bitfield (struct type *type,
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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;
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/value.h
|
2012-11-09 18:03:10 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/value.h 2015-01-06 22:44:41.563318984 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/value.h 2015-01-06 22:44:43.195326903 +0100
|
|
|
|
|
@@ -131,8 +131,8 @@ extern void set_value_parent (struct val
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -201,10 +201,10 @@ extern struct type *value_actual_type (s
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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).
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -242,7 +242,7 @@ struct lval_funcs
|
2012-11-09 18:03:10 +00:00
|
|
|
|
/* 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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -279,7 +279,7 @@ extern struct value *allocate_computed_v
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -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. */
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
extern void mark_value_bits_optimized_out (struct value *value,
|
|
|
|
|
- int offset, int length);
|
|
|
|
|
+ LONGEST offset, LONGEST length);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
/* 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
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -480,7 +481,7 @@ extern int value_bits_synthetic_pointer
|
2012-11-09 18:03:10 +00:00
|
|
|
|
byte is unavailable. */
|
|
|
|
|
|
|
|
|
|
extern int value_bytes_available (const struct value *value,
|
|
|
|
|
- int offset, int length);
|
|
|
|
|
+ LONGEST offset, LONGEST length);
|
|
|
|
|
|
2014-02-07 18:38:14 +00:00
|
|
|
|
/* Given a value, determine whether the contents bits starting at
|
|
|
|
|
OFFSET and extending for LENGTH bits are available. This returns
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -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
|
2012-11-09 18:03:10 +00:00
|
|
|
|
LENGTH bytes as unavailable. */
|
|
|
|
|
|
|
|
|
|
extern void mark_value_bytes_unavailable (struct value *value,
|
|
|
|
|
- int offset, int length);
|
|
|
|
|
+ LONGEST offset, LONGEST length);
|
|
|
|
|
|
2014-02-07 18:38:14 +00:00
|
|
|
|
/* Mark VALUE's content bits starting at OFFSET and extending for
|
|
|
|
|
LENGTH bits as unavailable. */
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -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);
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
/* Read LENGTH bytes of memory starting at MEMADDR into BUFFER, which
|
|
|
|
|
is (or will be copied to) VAL's contents buffer offset by
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -574,7 +575,7 @@ extern int value_contents_eq (const stru
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -610,17 +611,18 @@ extern LONGEST unpack_field_as_long (str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
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);
|
|
|
|
|
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -677,12 +679,12 @@ extern struct value *default_read_var_va
|
2014-02-07 18:38:14 +00:00
|
|
|
|
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -760,16 +762,16 @@ extern int find_overload_match (struct v
|
2012-11-09 18:03:10 +00:00
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -864,7 +866,7 @@ extern void set_internalvar_string (stru
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -945,7 +947,7 @@ extern struct value *value_x_unop (struc
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -973,7 +975,8 @@ extern void release_value_or_incref (str
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1003,7 +1006,7 @@ extern void value_print_array_elements (
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
@@ -1054,10 +1057,11 @@ extern struct value *value_literal_compl
|
2012-11-09 18:03:10 +00:00
|
|
|
|
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. */
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/s390-linux-nat.c
|
2014-05-12 18:27:00 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/s390-linux-nat.c 2015-01-06 22:44:41.564318989 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/s390-linux-nat.c 2015-01-06 22:44:43.195326903 +0100
|
|
|
|
|
@@ -544,7 +544,7 @@ s390_can_use_hw_breakpoint (struct targe
|
2014-05-12 18:27:00 +00:00
|
|
|
|
|
|
|
|
|
static int
|
2014-06-19 20:14:32 +00:00
|
|
|
|
s390_region_ok_for_hw_watchpoint (struct target_ops *self,
|
|
|
|
|
- CORE_ADDR addr, int cnt)
|
|
|
|
|
+ CORE_ADDR addr, LONGEST cnt)
|
2014-05-12 18:27:00 +00:00
|
|
|
|
{
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/extension-priv.h
|
2014-06-19 20:14:32 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/extension-priv.h 2015-01-06 22:44:41.564318989 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/extension-priv.h 2015-01-06 22:44:43.195326903 +0100
|
2014-06-19 20:14:32 +00:00
|
|
|
|
@@ -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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/python/python-internal.h
|
2014-06-19 20:14:32 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/python/python-internal.h 2015-01-06 22:44:41.564318989 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/python/python-internal.h 2015-01-06 22:44:43.195326903 +0100
|
|
|
|
|
@@ -313,7 +313,7 @@ extern int gdbpy_auto_load_enabled (cons
|
2014-06-19 20:14:32 +00:00
|
|
|
|
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,
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/target-delegates.c
|
2014-06-19 20:14:32 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/target-delegates.c 2015-01-06 22:44:41.565318994 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/target-delegates.c 2015-01-06 22:44:43.196326907 +0100
|
|
|
|
|
@@ -634,14 +634,14 @@ debug_watchpoint_addr_within_range (stru
|
2014-06-19 20:14:32 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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);
|
2015-01-08 20:53:17 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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.50.20141228/gdb/aarch64-linux-nat.c
|
2014-06-24 14:09:02 +00:00
|
|
|
|
===================================================================
|
2015-01-08 20:53:17 +00:00
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/aarch64-linux-nat.c 2015-01-06 22:44:41.565318994 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/aarch64-linux-nat.c 2015-01-06 22:44:43.196326907 +0100
|
|
|
|
|
@@ -1389,7 +1389,7 @@ aarch64_linux_remove_watchpoint (struct
|
2014-06-24 14:09:02 +00:00
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
|
aarch64_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
|
|
|
|
|
- CORE_ADDR addr, int len)
|
|
|
|
|
+ CORE_ADDR addr, LONGEST len)
|
|
|
|
|
{
|
|
|
|
|
CORE_ADDR aligned_addr;
|
|
|
|
|
|
2015-01-08 20:53:17 +00:00
|
|
|
|
Index: gdb-7.8.50.20141228/gdb/nat/x86-dregs.c
|
|
|
|
|
===================================================================
|
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/nat/x86-dregs.c 2015-01-06 22:44:41.566318999 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/nat/x86-dregs.c 2015-01-06 22:44:43.197326912 +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.50.20141228/gdb/compile/compile-c-support.c
|
|
|
|
|
===================================================================
|
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/compile/compile-c-support.c 2015-01-06 22:44:41.566318999 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/compile/compile-c-support.c 2015-01-06 22:44:43.197326912 +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.50.20141228/gdb/nat/x86-dregs.h
|
|
|
|
|
===================================================================
|
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/nat/x86-dregs.h 2015-01-06 22:44:41.566318999 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/nat/x86-dregs.h 2015-01-06 22:44:43.197326912 +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.50.20141228/gdb/x86-nat.c
|
|
|
|
|
===================================================================
|
|
|
|
|
--- gdb-7.8.50.20141228.orig/gdb/x86-nat.c 2015-01-06 22:44:41.566318999 +0100
|
|
|
|
|
+++ gdb-7.8.50.20141228/gdb/x86-nat.c 2015-01-06 22:44:43.197326912 +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));
|