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.
* corefile.c (do_captured_read_memory_integer,
safe_read_memory_integer): New functions.
* gdbcore.h (safe_read_memory_integer): Export.
* arm-tdep.c (arm_scan_prologue): Use safe_read_memory_integer,
to read the frame value, to capture calls to error().
From Richard Earnshaw <rearnsha@arm.com>:
* arm-tdep.c (arm_software_single_step): New function. Implements
software single-stepping for ARM targets.
(arm_get_next_pc, thumb_get_next_pc, bitcount, shifted_reg_val): Only
needed for software single-stepping.
* config/arm/tm-arm.h: Activate SOFTWARE_SINGLE_STEP_P.
assembler version of function.
(convert_from_extended, convert_to_extended): Rewrite. Use
floatformat_to_doublest, floatformat_from_doublest,
floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword.
(arm_push_arguments): Use extract_floating and store_floating to
perform floating point conversions.
(SWAP_TARGET_AND_HOST): Delete macro.
* arm-linux-tdep.c (arm_linux_push_arguments): Use
extract_floating and store_floating to perform floating point
conversions.
* remote-rdi.c (voiddummy): Update function signature to match
struct Dbg_HostosInterface's reset method.
* remote-rdp.c (rdp_step): Fix handle parameter to
remote_rdp_insert_breakpoint and remote_rdp_remove_breakpoint.
* arm-tdep.c (SIGCONTEXT_REGISTER_ADDRESS_P): Provide default
definition.
(arm_init_extra_frame_info): Use.
* arm-tdep.c (set_disassembly_flavor, arm_othernames,
_initialize_arm_tdep): Allows the user to choose between any of
the flavors available for the disassembly to be used in the "info
reg" command and elsewhere in gdb. It prevents having to maintain
this information in two places by using the data kept in the
opcodes directory.