parameter. Set frameless flag if it exists and depended of
whether the scanned function is frameless or not.
(xstormy16_skip_prologue): If function is frameless, return
result of xstormy16_scan_prologue().
(xstormy16_frame_init_saved_regs): Adjust xstormy16_scan_prologue()
call.
* sh-tdep.c (sh_fp_frame_init_saved_regs, sh_push_arguments,
sh_generic_show_regs, sh3_show_regs, sh3e_show_regs,
sh3_dsp_show_regs, sh4_show_regs, sh_dsp_show_regs,
sh_sh4_register_byte, sh_sh4_register_raw_size,
sh_sh3e_register_virtual_type, sh_sh4_register_virtual_type,
sh_sh4_register_convertible, sh_sh4_register_convert_to_virtual,
sh_sh4_register_convert_to_raw, sh_fetch_pseudo_register,
sh_store_pseudo_register, sh_do_pseudo_register): Call
gdbarch_tdep() just once, assign result to variable and use that,
instead of calling the function several times.
is up-to-date before running the program, not just when a program
exits.
* testsuite/gdb.base/reread.exp: Check that GDB properly re-reads the
executable file when it changes while no inferior is running.
2002-01-21 Fred Fish <fnf@redhat.com>
* arm-tdep.c (thumb_skip_prologue): Quit scanning prologue
when we have found all instructions we are looking for.
(arm_registers_names): Make static.
* config/arm/tm-arm.h (arm_register_names): Delete declaration.
(arm_register_name): Declare.
(REGISTER_NAME): Use it.
and Kevin Buettner <kevinb@redhat.com>
Convert arm targets to new FRAME interface.
* arm-tdep.c (struct frame_extra_info): Remove fsr.
(arm_frame_find_save_regs): Delete.
(arm_frame_init_saved_regs): New.
(arm_init_extra_frame_info): Alloacte saved_regs as required.
Allocate extra_info as required. Convert all uses of fsr.regs
to use saved_regs, similarly all uses of EXTRA_FRAME_INFO fields
to use extra_info.
(thumb_scan_prologue, arm_scan_prologue, arm_find_callers_reg)
(arm_frame_chain, arm_frame_saved_pc, arm_pop_frame): Likewise.
(check_prologue_cache, save_prologue_cache): Likewise.
(_initialize_arm_tdep): Ensure prologue_cache is correctly set up.
* config/arm/tm-arm.h (EXTRA_FRAME_INFO): Delete.
(FRAME_FIND_SAVED_REGS): Delete.
(arm_frame_find_saved_regs): Delete prototype.
(arm_frame_init_saved_regs): New prototype.
(FRAME_INIT_SAVED_REGS): Define.
(alpha_register_raw_size): Ditto.
(alpha_register_virtual_size): Ditto.
(alpha_skip_prologue_internal): Renamed from
alpha_skip_prologue.
(alpha_skip_prologue): New version that calls
alpha_skip_prologue_internal.
(alpha_in_lenient_prologue): Use alpha_skip_prologue_internal.
* config/alpha/tm-alpha.h (SKIP_PROLOGUE): Remove
second argument from alpha_skip_prologue.
(REGISTER_BYTE): Use alpha_register_byte.
(REGISTER_RAW_SIZE): Use alpha_register_raw_size.
(REGISTER_VIRTUAL_SIZE): Use alpha_register_virtual_size.
(FRAMELESS_FUNCTION_INVOCATION): Use
generic_frameless_function_invocation_not.
(FRAME_NUM_ARGS): Use frame_num_args_unknown.
(COERCE_FLOAT_TO_DOUBLE): Use standard_coerce_float_to_double.
(alpha_init_frame_pc_first): Ditto.
(alpha_fix_call_dummy): Ditto.
(alpha_store_struct_return): Ditto.
(alpha_extract_struct_value_address): Ditto.
* config/alpha/tm-alpha.h (REGISTER_VIRTUAL_TYPE): Use
alpha_register_virtual_type.
(STORE_STRUCT_RETURN): Use alpha_store_struct_return.
(EXTRACT_STRUCT_VALUE_ADDRESS): Use
alpha_extract_struct_value_address.
(FIX_CALL_DUMMY): Use alpha_fix_call_dummy.
(INIT_FRAME_PC): Use init_frame_pc_noop.
(INIT_FRAME_PC_FIRST): Use alpha_init_frame_pc_first.
(alpha_find_saved_regs): Make static. Use
frame->extra_info.
(alpha_frame_init_saved_regs): New function.
(alpha_frame_saved_pc): Use frame->extra_info.
(temp_saved_regs): Don't declare as struct frame_saved_regs.
(heuristic_proc_desc): Adjust for temp_saved_regs changes.
(init_extra_frame_info): Rename to...
(alpha_init_extra_frame_info): ...this. Use frame->extra_info.
(alpha_print_extra_frame_info): New function.
(alpha_frame_locals_address): Ditto.
(alpha_frame_args_address): Ditto.
(alpha_pop_frame): Use frame->extra_info.
* config/alpha/tm-alpha.h (FRAME_ARGS_ADDRESS): Use
alpha_frame_args_address.
(FRAME_LOCALS_ADDRESS): Use alpha_frame_locals_address.
(alpha_find_saved_regs): Remove prototype.
(FRAME_INIT_SAVED_REGS): Use alpha_frame_init_saved_regs.
(EXTRA_FRAME_INFO): Remove.
(INIT_EXTRA_FRAME_INFO): Use alpha_init_extra_frame_info.
(PRINT_EXTRA_FRAME_INFO): Use alpha_print_extra_frame_info.
(alpha_cannot_fetch_register): Ditto.
(alpha_cannot_store_register): Ditto.
(alpha_register_convertible): Ditto.
(alpha_use_struct_convention): Ditto.
* config/alpha/tm-alpha.h: Update copyright years.
(IN_SIGTRAMP): Use alpha_osf_in_sigtramp.
(INNER_THAN): Use core_addr_lessthan.
(CANNOT_FETCH_REGISTER): Use alpha_cannot_fetch_register.
(CANNOT_STORE_REGISTER): Use alpha_cannot_store_register.
(REGISTER_CONVERTIBLE): Use alpha_register_convertible.
(USE_STRUCT_CONVENTION): Use alpha_use_struct_convention.
(FRAME_CHAIN): Remove unnecessary cast.
(fill_gregset): Use regcache_collect.
(fill_fpregset): Likewise.
(fetch_inferior_registers): Only fetch integer registers
if requested to do so.
(store_inferior_registers): Only store integer registers
if requested to do so.
* linux-proc.c: Add "info proc" command, a la procfs.c.
(read_mapping): New function, abstract and re-use code.
(linux_find_memory_regions): Use new func read_mapping.
(linux_info_proc_cmd): New function, implement "info proc".
(_initialize_linux_proc): Add new command "info proc".
* symfile.c (generic_load): Use bfd_map_over_sections method
instead of manipulating bfd structure members directly.
(add_section_size_callback): New function, bfd sections callback
used by generic_load.
(load_sections_callback): New function, bfd sections callback
used by generic_load.
[Based on work by Jim Blandy]
* gdbtypes.h (builtin_type_v16qi, builtin_type_v8hi): Export.
(builtin_type_vec128): Export.
* gdbtypes.c (builtin_type_v16qi, builtin_type_v8hi): New SIMD
types.
(builtin_type_vec128): New builtin type for 128 bit vector
registers.
(build_gdbtypes): Initialize builtin_type_v16qi and
builtin_type_v8hi. Create the vec128 register builtin type
structure.
(build_builtin_type_vec128): New function.
(_initialize_gdbtypes): Register builtin_type_v16qi and
builtin_type_v8hi with gdbarch. Same for builtin_type_vec128.
* rs6000-tdep.c (rs6000_register_virtual_type): Change type of
AltiVec register to new builtin type.