[PATCH v2] Expand bitpos and type.length to LONGEST and ULONGEST
Siddhesh Poyarekar
siddhesh@redhat.com
Fri May 4 13:10:00 GMT 2012
Hi,
I have finally finished this off with a combined patch to expand bitpos
to LONGEST and type.length to ULONGEST. A quick recap of the problem
I'm trying to solve:
Currently gdb stores type sizes and struct offsets in 32-bit unsigned
and int respectively, which overflows for larger values. This patch
extends these values and all its usages throughout the code to the
longest possible values so that gdb can read larger structs, arrays and
ofsets within those structs and arrays.
An initial patch had gone in to avoid overloading the meaning of
structure offset with enum values, primarily to allow bitpos to be
defined as ULONGEST:
http://sourceware.org/ml/gdb-patches/2012-04/msg00538.html
This however is not possible anyway, since bitpos may be negative for
vtable offsets and as a result, I have extended bitpos to LONGEST in
this patch.
I have attached the test case patch as a separate file. Below is the
changelog.
Regards,
Siddhesh
gdb/ChangeLog
2012-05-04 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 ULONGEST.
(ada_index_struct_field): Expand parameters index and offset 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 ULONGEST.
(decode_constrained_packed_array): Expand bit_pos to LONGEST.
(ada_value_primitive_packed_val): Expand parameter offset to
LONGEST. Expand targ to LONGEST and ntarg to ULONGEST.
(ada_value_assign): Expand from_size to ULONGEST.
(value_assign_to_component): Expand bits to ULONGEST.
(ensure_lval): Expand len to ULONGEST.
(value_pointer): Likewise.
(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 to LONGEST
and alignment to ULONGEST.
(ada_template_to_fixed_record_type_1): Expand off, bit_len and
fld_bit_len to ULONGEST. Expand field_offset to LONGEST. Use
pulongest function to print TYPE_LENGTH.
(to_fixed_array_type): Expand len to ULONGEST.
* 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 ULONGEST.
(printstr): Expand parameter length to ULONGEST.
(ada_printstr): Likewise.
(ada_val_print): Expand embedded_offset to LONGEST.
(ada_val_print_array): Expand eltlen, len and temp_len to
ULONGEST.
(ada_val_print_1): Expand parameter offset to ULONGEST. Expand
len to ULONGEST.
(print_variant_part): Expand parameters offset and outer_offset
to LONGEST.
(print_field_values): Likewise. Expand bit_pos to LONGEST.
* alpha-tdep.c (struct alpha_arg): Expand member len to
ULONGEST.
(alpha_push_dummy_call): Expand len to ULONGEST.
(alpha_extract_return_value): Expand length to ULONGEST.
(alpha_store_return_value): Likewise.
* amd64-tdep.c (amd64_classify_aggregate): Expand len,
bitsize, endpos to ULONGEST and pos to LONGEST.
(amd64_classify): Expand len to ULONGEST.
(amd64_return_value): Expand len to LONGEST.
(amd64_push_arguments): Expand num_elements, element to ULONGEST
and len to LONGEST.
(amd64_get_longjmp_target): Expand len to ULONGEST.
* amd64-windows-tdep.c (amd64_windows_return_value): Expand
len to LONGEST.
* arm-tdep.c (arm_push_dummy_call): Expand len to LONGEST.
(arm_extract_return_value): Expand len to ULONGEST.
(arm_store_return_value): Likewise.
* avr-tdep.c (avr_return_value): Expand i to ULONGEST.
(push_stack_item): Expand parameter len to ULONGEST.
(avr_push_dummy_call): Expand last_regnum, len to ULONGEST.
* ax-gdb.c (gen_trace_static_fields): Expand length to
ULONGEST.
(gen_traced_pop): Likewise.
(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_endi, offset to LONGEST.
(gen_primitive_field): Expand parameter offset to LONGEST.
(gen_struct_ref_recursive): Likewise.
* bfin-tdep.c (bfin_push_dummy_call): Expand total_len, len,
container_len to ULONGEST.
(bfin_extract_return_value): Expand len to LONGEST.
(bfin_store_return_value): Likewise.
* breakpoint.c (update_watchpoint): Expand len to ULONGEST.
(can_use_hardware_watchpoint): Likewise.
(invalidate_bp_value_on_memory_change): Expand parameter len to
LONGEST.
* breakpoint.h (struct bp_location): Expand member length to
ULONGEST.
* c-lang.c (c_printstr): Expand parameter length to ULONGEST.
Remove unused variable width.
(evaluate_subexp_c): Expand element_size, i to ULONGEST.
* 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 pulongest to print ULONGEST.
* 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.
* corefile.c (read_memory): Expand len to ULONGEST.
(read_stack): Likewise.
(write_memory): Likewise.
* 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 LONGEST *.
* cp-abi.h (value_virtual_fn_field): Expand offset to LONGEST.
(value_rtti_type): Expand top 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 LONGEST
* in value_rtti_type. Return LONGEST from baseclass_offset
and expand parameter for embedded_offset to LONGEST.
* cp-valprint.c (cp_print_value_fields): Expand parameter
offset to LONGEST.
(cp_print_value_fields_rtti): Likewise. Expand top to LONGEST.
(cp_print_value): Expand parameter offset to LONGEST. Expand
thisoffset, boffset to LONGEST.
(cp_find_class_member): Expand bitsize to ULONGEST.
* cris-tdep.c (push_stack_item): Expand parameter len to
ULONGEST.
(cris_push_dummy_call): Expand len, reg_demand, i to ULONGEST.
(cris_store_return_value): Expand len to ULONGEST.
(cris_extract_return_value): Likewise.
* d-lang.h (d_val_print): Expand parameter embedded_offset to
LONGEST.
* d-valprint.c (dynamic_array_type): Likewise.
(d_val_print): Likewise.
* doc/observer.texi (memory_changed): Expand parameter len to
LONGEST.
* doublest.c (floatformat_from_length): Likewise. Use
pulongest to format string for ULONGEST.
* 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): Expand type_len, this_size, this_size_bits
to ULONGEST. Expand dest_offset_bits, source_offset_bits,
dest_offset, source_offset to LONGEST.
(check_pieced_value_bits): Expand parameter bit_length to
ULONGEST.
(check_pieced_value_validity): Likewise.
(check_pieced_synthetic_pointer): Likewise.
(indirect_pieced_value): Expand bit_length to ULONGEST. Expand
bit_offset to LONGEST.
(dwarf2_evaluate_loc_desc_full): Expand n to ULONGEST.
* dwarf2read.c (struct dwarf_block): ULONGEST size.
(dwarf2_const_value_length_mismatch_complaint): Expand
parameters arg2 and arg3 to ULONGEST. Use pulongest to print
arg2 and arg3. (dwarf2_add_field): Expand anonymous size to
ULONGEST. (dump_die_shallow): Use pulongest to print
dwarf_block.size.
* eval.c (evaluate_struct_tuple): Expand bitpos to LONGEST.
(init_array_element): Expand element_size to ULONGEST.
(binop_promote): Expand promoted_len1, promoted_len2, result_len
to ULONGEST.
(evaluate_subexp_standard): Expand mem_offset, top to LONGEST.
Expand element_size to ULONGEST.
* 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 ULONGEST.
(f77_print_array_1): Expand parameter embedded_offset to
LONGEST. (f77_print_array): Likewise.
(f_val_print): Likewise. Expand offset to LONGEST.
* findcmd.c (parse_find_args): Expand val_bytes to ULONGEST.
* findvar.c (extract_unsigned_integer): Remove unnecessary
cast.
(default_read_var_value): Expand len to ULONGEST.
(default_value_from_register): Likewise.
(read_frame_register_value): Expand offset, reg_offset to
LONGEST. Expand len, reg_len to ULONGEST.
* frv-tdep.c (frv_extract_return_value): Expand len to
ULONGEST. Use pulongest to format print len.
(frv_push_dummy_call): Expand len to ULONGEST.
(frv_store_return_value): Likewise. Use pulongest to format
print len.
* gdbcore.h (read_memory): Expand parameter len to ULONGEST.
(read_stack): Likewise.
(write_memory): Likewise.
* gdbtypes.c (init_type): Expand parameter length to ULONGEST.
(is_unique_ancestor_worker): Expand parameters offset,
embedded_offset to LONGEST. Expand this_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 ULONGEST.
* gdbtypes.h (type.main_type.fld_bnds.fields): Expand bitpos
to LONGEST.
(type): Expand length to ULONGEST.
(init_type): Expand parameter length to ULONGEST.
(arch_type): Likewise.
* gnu-v2-abi.c (gnuv2_virtual_fn_field): Expand parameter
offset to LONGEST.
(gnuv2_value_rtti_type): Expand parameter top to LONGEST *.
(gnuv2_baseclass_offset): Return LONGEST. Expand parameter
embedded_offset to LONGEST. Expand field_offset, boffset to
LONGEST, field_length to ULONGEST.
* 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 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 (go_val_print): Likewise.
* h8300-tdep.c (h8300_push_dummy_call): Expand stack_alloc,
stack_offset, len, padded_len, offset to LONGEST.
* hppa-tdep.c (hppa64_push_dummy_call): Expand len to
ULONGEST.
(hppa64_return_value): Likewise.
* i386-darwin-tdep.c (i386_darwin_arg_type_alignment): Return
ULONGEST. Expand res to ULONGEST.
(i386_darwin_push_dummy_call): Expand arg_spaces, len, align to
ULONGEST.
* i386-nat.c (i386_handle_nonaligned_watchpoint): Expand
parameter len to ULONGEST.
(i386_region_ok_for_watchpoint): Expand parameter len to
LONGEST.
* i386-tdep.c (i386_push_dummy_call): Expand arg_space,
arg_space_used, len to ULONGEST.
(i386_extract_return_value): Expand len to ULONGEST. Use
pulongest to format print len.
(i386_store_return_value): Likewise.
* ia64-tdep.c (ia64_extract_return_value): Expand n to
ULONGEST.
(ia64_store_return_value): Likewise.
(ia64_push_dummy_call): Expand argoffset, len, nslots, memslots
to ULONGEST.
* infcall.c (call_function_by_hand): Expand len to ULONGEST.
* infrun.c (save_infcall_suspend_state): Expand len to
ULONGEST.
(restore_infcall_suspend_state): Eliminate single-use variable
len.
* iq2000-tdep.c (iq2000_store_return_value): Expand len to
ULONGEST.
(iq2000_extract_return_value): Likewise. Use len instead of
TYPE_LENGTH.
(iq2000_push_dummy_call): Expand typelen, stackspace to
ULONGEST.
* 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.
* lm32-tdep.c (lm32_push_dummy_call): Expand len to ULONGEST.
(lm32_store_return_value): Likewise.
* m2-lang.c (m2_printstr): Expand parameter length to
ULONGEST.
* m2-lang.h (m2_val_print): Expand parameter embedded_offset
to ULONGEST.
* m2-typeprint.c (m2_array): Use pulongest to print
TYPE_LENGTH.
(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. Eliminate eltlen and use
TYPE_LENGTH directly.
(m2_val_print): Expand parameter embedded_offset to LONGEST.
Expand i, len, temp_len to ULONGEST. Remove eltlen, use
TYPE_LENGTH directly.
* m32r-tdep.c (m32r_push_dummy_call): Expand len to ULONGEST.
(m32r_extract_return_value): Likewise.
* m68hc11-tdep.c (m68hc11_push_dummy_call): Expand len to
ULONGEST.
(m68hc11_store_return_value): Likewise.
* m68k-tdep.c (m68k_extract_return_value): Expand len to
ULONGEST. Use pulongest to format print len.
(m68k_svr4_extract_return_value): Replace single-use variable
len with TYPE_LENGTH.
(m68k_store_return_value): Expand len to ULONGEST. Use pulongest
to format print len.
(m68k_svr4_store_return_value): Replace single-use variable len
with TYPE_LENGTH.
(m68k_push_dummy_call): Expand len, container_len, offset to
ULONGEST.
* m88k-tdep.c (m88k_store_arguments): Expand
num_register_words, num_stack_words, len to ULONGEST.
(m88k_return_value): Expand len to ULONGEST.
* memrange.c (mem_ranges_overlap): Expand parameters len1,
len2 to ULONGEST.
* memrange.h (struct mem_range): Expand member length to
ULONGEST.
(mem_ranges_overlap): Expand parameters len1, len2 to ULONGEST.
* mep-tdep.c (push_large_arguments): Expand arg_len to
ULONGEST.
(mep_push_dummy_call): Expand arg_size to ULONGEST.
* microblaze-tdep.c (microblaze_store_return_value): Expand
len to ULONGEST.
* mips-tdep.c (mips_xfer_register): Expand parameter
buf_offset to LONGEST. Use plongest to format print buf_offset.
(mips_eabi_push_dummy_call): Expand len to ULONGEST. Use
pulongest to format print len.
(mips_n32n64_fp_arg_chunk_p): Expand parameter offset to
LONGEST. Expand pos to LONGEST.
(mips_n32n64_return_value): Expand offset to LONGEST. Use
plongest to format print offset.
(mips_o32_push_dummy_call): Expand len to ULONGEST. Eliminate
single-use variable arglen. Use pulongest to format print len.
(mips_o64_push_dummy_call): Expand len, stack_offset to
ULONGEST. Eliminate single-use variable arglen. use pulongest
to format print len.
* mn10300-tdep.c (mn10300_type_align): Return ULONGEST.
Expand align, falign to ULONGEST.
(mn10300_push_dummy_call): Expand len, arg_len to ULONGEST.
* moxie-tdep.c (moxie_store_return_value): Expand len to
ULONGEST.
(moxie_extract_return_value): Likewise.
* mt-tdep.c (mt_push_dummy_call): Expand stack_dest, typelen
to ULONGEST.
* objc-lang.c (objc_printstr): Expand parameter length to
ULONGEST.
* 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 to LONGEST. Expand
elsize to ULONGEST.
(lval_func_write): Likewise.
(lval_func_check_validity): Expand parameter length to ULONGEST.
Expand elsize to ULONGEST. Expand start, end, i to LONGEST.
(lval_func_check_any_valid): Expand elsize to ULONGEST.
(lval_func_check_synthetic_pointer): Expand parameter offset to
LONGEST. Expand parameter length to ULONGEST. Expand elsize to
ULONGEST. Expand start, end, i to LONGEST.
* p-lang.c (is_pascal_string_type): Expand parameter
length_pos, string_pos to LONGEST *. Expand parameter
length_size to ULONGEST *.
(pascal_printstr): Expand parameter length to ULONGEST.
* p-lang.h (pascal_val_print): Expand parameter
embedded_offset to LONGEST.
(is_pascal_string_type): Expand parameter length_pos, string_pos
to LONGEST *. Expand parameter length_size to ULONGEST *.
(pascal_printstr): Expand parameter length to ULONGEST.
(pascal_object_print_value_fields): Expand parameter offset to
LONGEST.
* p-typeprint.c (pascal_type_print_base): Expand lastval to
LONGEST.
* p-valprint.c (pascal_val_print): Expand parameter
embedded_offset to LONGEST. Expand eltlen, length_size to
ULONGEST. Expand 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 (check_condition): Expand parameter len to
ULONGEST *.
* ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Expand
argoffset, structoffset, len, i, nelt to ULONGEST.
(do_ppc_sysv_return_value): Expand i, nelt, offset to ULONGEST.
(ppc64_sysv_abi_push_dummy_call): Expand len to ULONGEST.
(ppc64_sysv_abi_return_value): Expand n_regs, i, offset to
ULONGEST.
* printcmd.c (print_formatted): Expand len to ULONGEST.
(float_type_from_length): Likewise.
(print_scalar_formatted): Likewise.
* 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_cooked_read_part): Likewise.
(regcache_cooked_write_part): Likewise.
* regcache.h (regcache_cooked_read_part): Likewise.
(regcache_cooked_write_part): Likewise.
* remote.c (remote_write_bytes_aux): Expand parameter len to
LONGEST.
(remote_write_bytes): Likewise.
(remote_region_ok_for_hw_watchpoint): Likewise.
* rl78-tdep.c (rl78_push_dummy_call): Expand len,
container_len to ULONGEST.
* rs6000-aix-tdep.c (rs6000_push_dummy_call): Expand len to
ULONGEST.
(ran_out_of_registers_for_arguments): Expand space, jj to
ULONGEST.
* s390-tdep.c (s390_value_from_register): Eliminate single use
variable len.
(s390_function_arg_pass_by_reference): Likewise.
(s390_function_arg_float): Eliminate single-use variable length.
(s390_push_dummy_call): Likewise. Expand length to ULONGEST.
(s390_frame_align): Eliminate single-us variable length.
(s390_return_value): Expand length to ULONGEST.
* score-tdep.c (score_push_dummy_call): Expand arglen to
ULONGEST.
* sh-tdep.c (sh_extract_return_value_nofpu): Epand len to
ULONGEST.
(sh_store_return_value_nofpu): Likewise.
* sh64-tdep.c (sh64_push_dummy_call): Expand stack_offset,
stack_alloc, len to ULONGEST.
(sh64_extract_return_value): Expand len to ULONGEST.
(sh64_store_return_value): Likewise.
* sparc-tdep.c (sparc32_store_arguments): Likewise.
* sparc64-tdep.c (sparc64_store_floating_fields): Expand
parameter bitpos to LONGEST. Expand subpos to LONGEST.
(sparc64_extract_floating_fields): Likewise.
(sparc64_store_arguments): Expand len to ULONGEST.
* spu-tdep.c (spu_value_from_register): Likewise.
* stack.c (read_frame_arg): Expand len, len_deref to ULONGEST.
(print_frame_args): Expand current_offset, arg_size to ULONGEST.
* symfile-mem.c (symfile_target_read_memory): New
function. Wrap around target_read_memory.
(symbol_file_add_from_memory): Use symfile_target_read_memory.
* symmisc.c (print_symbol): Expand i to ULONGEST. Use
pulongest to format print TYPE_LENGTH.
* target.c (target_read_memory): Expand parameter len to
LONGEST.
(target_read_stack): Likewise.
(target_write_memory): Likewise.
(target_write_raw_memory): Likewise.
(default_region_ok_for_hw_watchpoint): Likewise.
(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.
(target_read_memory): Expand parameter len to LONGEST.
(target_read_stack): Likewise.
(target_write_memory): Likewise.
(target_write_raw_memory): Likewise.
* tracepoint.c (collect_symbol): Expand len to ULONGEST.
(encode_actions_1): Make addr as CORE_ADDR. Expand len to
ULONGEST.
(scope_info): Expand j to ULONGEST. Use pulongest to format
print TYPE_LENGTH.
* typeprint.c (whatis_exp): Expand top to LONGEST.
* v850-tdep.c (v850_push_dummy_call): Expand len to ULONGEST.
(v850_extract_return_value): Expand len to LONGEST.
(v850_store_return_value): Expand len to ULONGEST.
* valarith.c (value_subscripted_rvalue): Expand elt_size,
elt_offs to ULONGEST.
(value_binop): Expand len to LONGEST.
(value_logical_not): Expand len1, len2 to LONGEST.
* valops.c (value_allocate_space_in_inferior): Expand
parameter len to ULONGEST. Use value_from_ulongest to get the
value for len.
(value_cast_structs): Expand top to LONGEST.
(value_cast): Expand val_length, element_length to ULONGEST.
(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.
(value_fetch_lazy): Expand length to ULONGEST.
(read_value_memory): Expand parameter length to ULONGEST.
(value_assign): Expand changed_len to ULONGEST. Expand offset to
LONGEST.
(value_array): Expand typelength to ULONGEST.
(search_struct_field): Expand parameter offset to LONGEST.
Expand new_offset, boffset to LONGEST.
(search_struct_method): Expand parameter offset to LONGEST.
Expand base_offset, this_offset to LONGEST.
(find_method_list): Expand parameter offset to LONGEST,
parameter boffset to LONGEST *. Expand base_offset to LONGEST.
(value_find_oload_method_list): Expand parameter boffset to
LONGEST *.
(find_overload_match): Expand boffset to LONGEST.
(value_struct_elt_for_reference): Expand parameter offset to
LONGEST. Expand base_offset to LONGEST.
(value_rtti_indirect_type): Expand parameter top 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. Expand len, eltlen to ULONGEST.
(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 member offset to LONGEST.
Expand member length to ULONGEST.
(ranges_overlap): Expand parameters offset1, offset2 to LONGEST.
Expand parameters len1, len2 to ULONGEST.
(range_contain): Expand parameter offset to LONGEST. Expand
parameter length to ULONGEST.
(struct value): Expand members offset, embedded_offset,
pointed_to_offset to LONGEST.
(value_bytes_available): Expand parameter offset to LONGEST,
parameter length to ULONGEST.
(mark_value_bytes_unavailable): Likewise.
(find_first_range_overlap): Likewise.
(value_available_contents_eq): Expand parameters offset1,
offset2 to LONGEST. Expand parameter length to ULONGEST.
(value_offset): Return LONGEST.
(set_value_offset): Expand parameter offset to LONGEST.
(value_contents_copy_raw): Expand parameters src_offset,
dst_offset to LONGEST. Expand parameters length to ULONGEST.
(value_contents_copy): Likewise.
(value_contents_equal): Expand len to ULONGEST.
(value_bits_valid): Expand parameter offset to LONGEST, length
to ULONGEST.
(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 to
LONGEST, container_bitpos to ULONGEST.
(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 ULONGEST.
* 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 parameter offset to LONGEST, length
to ULONGEST for check_validity. Likewise for
check_synthetic_pointer.
(valprint_check_validity): Expand parameter embedded_offset to
LONGEST.
(value_bits_valid): Expand parameter offset to LONGEST, length
to ULONGEST.
(value_bits_synthetic_pointer): Likewise.
(mark_value_bytes_unavailable): Expand parameter offset to
LONGEST, parameter length to ULONGEST.
(value_available_contents_eq): Expand parameters offset1,
offset2 to LONGEST. Expand parameter length to ULONGEST.
(read_value_memory): Expand parameter length to ULONGEST.
(unpack_value_bits_as_long): Expand parameter embeded_offset to
LONGEST.
(unpack_value_field_as_long): Likewise.
(value_field_bitfield): Likewise.
(value_contents_copy_raw): Expand parameters src_offset,
dst_offset to LONGEST. Expand parameters length to ULONGEST.
(value_contents_copy): Likewise.
(value_find_oload_method_list): Expand parameter boffset to
LONGEST *.
(value_primitive_field): Expand parameter offset to LONGEST.
(value_rtti_indirect_type): Expand parameter top 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
ULONGEST.
* vax-tdep.c (vax_store_arguments): Expand count, len to
ULONGEST.
(vax_return_value): Expand len to ULONGEST.
* xstormy16-tdep.c (xstormy16_extract_return_value): Expand
len, i to ULONGEST.
(xstormy16_store_return_value): Likewise.
(xstormy16_push_dummy_call): Expand j to LONGEST, typelen to
ULONGEST.
(xstormy16_push_dummy_call):
* xtensa-tdep.c (xtensa_extract_return_value): Expand len to
ULONGEST. Use pulongest to format print len.
(xtensa_store_return_value): Likewise.
(xtensa_push_dummy_call): Expand size, onstack_size, length to
ULONGEST. Expand offset to LONGEST. Use pulongest to format
print TYPE_LENGTH.
testsuite/ChangeLog:
2012-05-04 Siddhesh Poyarekar <siddhesh@redhat.com>
* gdb.base/structs-longest-bitpos.c: New test case.
* gdb.base/structs-longest-bitpos.exp: New test case.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bitpos-expand.patch
Type: text/x-patch
Size: 207721 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20120504/2c0d6a8a/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bitpos-expand-testcase.patch
Type: text/x-patch
Size: 2557 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20120504/2c0d6a8a/attachment-0001.bin>
More information about the Gdb-patches
mailing list