saved_regs. Mention when the SP is on the stack or in a register.
* frame.h (frame_register_unwind_ftype): Define. Document.
(struct frame_info): Add field register_unwind and
register_unwind_cache.
(frame_register_unwind): Declare.
(generic_unwind_get_saved_register): Declare.
* frame.c (frame_register_unwind): New function.
(generic_unwind_get_saved_register): New function.
* blockframe.c (generic_call_dummy_register_unwind): New function.
(frame_saved_regs_register_unwind): New function.
(set_unwind_by_pc): New function.
(create_new_frame): New function.
(get_prev_frame): New function.
* sparc-tdep.c: Include osabi.h.
(gdbarch_tdep): Add osabi member.
(_initialize_sparc_tdep): Use gdbarch_register.
(sparc_gdbarch_init): Use generic OS ABI framework.
(sparc_dump_tdep): New function.
* Makefile.in (sim_regno_h): Define.
(d10v-tdep.o, remote-sim.o): Add dependency on $(sim_regno_h).
* remote-sim.c: Include "sim-regno.h" and "gdb_assert.h".
(legacy_register_sim_regno): New function.
(one2one_register_sim_regno): New function.
(gdbsim_fetch_register): Rewrite.
(gdbsim_store_register): Only store a register when
REGISTER_SIM_REGNO is valid.
* d10v-tdep.c: Include "sim-regno.h".
(d10v_ts2_register_sim_regno): Add legacy_regiter_sim_regno check.
(d10v_ts3_register_sim_regno): Ditto.
* gdbarch.sh: Include "sim-regno.h".
(REGISTER_SIM_REGNO): Set default to legacy_register_sim_regno.
* gdbarch.h, gdbarch.c: Regenerate.
* arch-utils.h (default_register_sim_regno): Delete declaration.
* arch-utils.c (default_register_sim_regno): Delete function.
* i386-tdep.c (i386_register_virtual_type): Return
builtin_type_vec128i for SSE registers.
* gdbtypes.h (builtin_type_vec128i): Declare.
* gdbtypes.c (build_builtin_type_vec128i): New function.
(builtin_type_v2_double, builtin_type_v4_int64): New types.
(builtin_type_vec128i): New type for SSE2 128-bit registers.
(build_gdbtypes): Initialize new builtin vector types.
(_initialize_gdbtypes): Register new vector types with gdbarch.
since it has been multi-arch'd.
* NEWS: Note that ns32k-*-* is now partial multi-arch.
Move Alpha and VAX multi-arch news entries to same section
as other multi-arch news.
target.s, arch-utils.h, ns32k-tdep.h. Make many functions
static. Rename some register numbers to put them in ns32k-tdep
private namespace.
(ns32k_get_saved_register, ns32k_gdbarch_init_32082,
ns32k_gdbarch_init_32382, ns32k_gdbarch_init, ns32k_dump_tdep): New
functions.
(_initialize_ns32k_tdep): Use gdbarch_register.
* ns32k-tdep.h: New file.
* ns32knbsd-tdep.c: New file.
* config/ns32k/nbsdaout.mt (TDEPFILES): Add ns32knbsd-tdep.o.
* config/ns32k/tm-nbsd.h: Include "ns32k/tm-ns32k.h".
(IN_SOLIB_CALL_TRAMPOLINE, REGISTER_NAME, NUM_REGS,
REGISTER_BYTES, REGISTER_BYTE): Remove.
* config/ns32k/tm-ns32k.h: New file.
* config/ns32k/tm-umax.h: Remove.
ns32k_store_struct_return, ns32k_extract_return_value,
ns32k_store_return_value, ns32k_extract_struct_value_address): New
functions.
* config/ns32k/tm-umax.h (SAVED_PC_AFTER_CALL): Define as
ns32k_saved_pc_after_call.
(STORE_STRUCT_RETURN): Define as ns32k_store_struct_return.
(EXTRACT_RETURN_VALUE): Define as ns32k_extract_return_value.
(STORE_RETURN_VALUE): Define as ns32k_store_return_value.
(EXTRACT_STRUCT_VALUE_ADDRESS): Define as
ns32k_extract_struct_value_address.
* sim-d10v.h: New file. Moved from include/sim-d10v.h.
* Makefile.in (INCLUDE): Add "gdb/sim-d10v.h".
* interp.c: Include "gdb/sim-d10v.h" instead of "sim-d10v.h".
* d10v-tdep.c: Include "gdb/sim-d10v.h" instead of "sim-d10v.h".
* Makefile.in (sim_d10v_h): Update definition.
definition is the same as the previous one. Take more arguments
to allow the comparison.
(macro_define_object, macro_define_function): Pass more arguments
to check_for_redefinition.
* d10v-tdep.c: Change a few macros to enums for ease of debugging.
(d10v_frame_chain_valid): Add PC_IN_CALL_DUMMY clause.
(d10v_frame_saved_pc): Add PC_IN_CALL_DUMMY clause.
(d10v_frame_chain): Bail immediately if PC_IN_CALL_DUMMY.
Don't bail if return_pc is PC_IN_CALL_DUMMY.
Add a temp variable to save a call (and a memory read).
(d10v_init_extra_frame_info): Get fi->pc from callee's return_pc
if possible (so that PC_IN_CALL_DUMMY will work).
* dwarf2cfi.c (frame_state_for): Added safety check for a valid
fde->cie_ptr.
(dwarf2_build_frame_info): Corrected handling of eh_frame.
(dwarf2_build_frame_info): Add offset to fde->initial_location
so that frames of shared libraries are mapped correctly.
* configure.host (mips*-*-netbsd*): New host.
* configure.tgt (mips*-*-netbsd*): New target.
* mipsnbsd-nat.c: New file.
* mipsnbsd-tdep.c: New file.
* mipsnbsd-tdep.h: New file.
* config/mips/nbsd.mh: New file.
* config/mips/nbsd.mt: New file.
* config/mips/nm-nbsd.h: New file.
* config/mips/tm-nbsd.h: New file.
(COMMON_OBS): Add osabi.o.
(osabi.o): New dependency list.
* osabi.c: New file.
* osabi.h: New file.
* doc/gdbint.texinfo: Document new generic OS ABI framework.
* Makefile.in (alpha_tdep_h): Define and use instead of
alpha-tdep.h.
* alpha-tdep.c (alpha_abi_names, process_note_abi_tag_sections,
get_elfosabi, alpha_abi_handler_list, alpha_gdbarch_register_os_abi):
Remove.
(alpha_gdbarch_init, alpha_dump_tdep): Use generic OS ABI framework.
* alpha-tdep.h: Include osabi.h.
(alpha_abi): Remove.
(gdbarch_tdep): Use generic OS ABI framework.
* alpha-linux-tdep.c (_initialize_alpha_linux_tdep): Use
gdbarch_register_osabi.
* alpha-osf1-tdep.c (_initialize_alpha_osf1_tdep): Likewise.
* alphafbsd-tdep.c (_initialize_alphafbsd_tdep): Likewise.
* alphanbsd-tdep.c (_initialize_alphanbsd_tdep): Likewise.
* Makefile.in (sh_tdep_h): Add osabi.h.
* sh-tdep.h (sh_osabi): Remove.
(gdbarch_tdep): Use generic OS ABI framework.
* sh-tdep.c (sh_osabi_names, process_note_abi_tag_sections,
sh_osabi_handler_list, sh_gdbarch_register_os_abi): Remove.
(sh_gdbarch_init, sh_dump_tdep): Use generic OS ABI framework.
* shnbsd-tdep.c (_initialize_shnbsd_tdep): Use gdbarch_register_osabi.
* Makefile.in (arm_tdep_h): Define and use instead of arm-tdep.h.
* arm-linux-tdep.c (_initialize_arm_linux_tdep): Use
gdbarch_register_osabi.
* arm-tdep.c (arm_abi_names, process_note_abi_tag_sections,
arm_abi_handler_list, arm_gdbarch_register_os_abi): Remove.
(get_elfosabi): Rename to...
(arm_elf_osabi_sniffer): ...this. Adjust to use generic OS
ABI framework support routines.
(arm_gdbarch_init): Use generic OS ABI framework.
(arm_dump_tdep): Likewise.
(_initialize_arm_tdep): Likewise.
* arm-tdep.h: Include osabi.h.
(arm_abi): Remove.
(gdbarch_tdep): Remove arm_abi and abi_name members. Add
osabi member.
(arm_gdbarch_register_os_abi): Remove prototype.
* armnbsd-tdep.c (arm_netbsd_aout_osabi_sniffer): New function.
(_initialize_arm_netbsd_tdep): Use gdbarch_register_osabi.
* Makefile.in (mips-tdep.o): Add osabi.h to dependency list.
* mips-tdep.c: Include osabi.h.
(gdbarch_tdep, mips_gdbarch_init, mips_dump_tdep): Use generic
OS ABI framework.
(remote_start_remote): Add uiout parameter. Pass through to
remote_start_remote_dummy.
(remote_open_1): Use catch_exception instead of catch_errors.
(remote_async_open_1): Ditto.
(remote_cisco_open): Ditto.