binutils-gdb/gdb/sparc-tdep.c

2041 lines
57 KiB
C
Raw Normal View History

* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Target-dependent code for SPARC.
Copyright (C) 2003-2013 Free Software Foundation, Inc.
1999-07-08 04:19:36 +08:00
This file is part of GDB.
1999-07-08 04:19:36 +08:00
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
1999-07-08 04:19:36 +08:00
(at your option) any later version.
1999-07-08 04:19:36 +08:00
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
1999-07-08 04:19:36 +08:00
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
#include "arch-utils.h"
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
#include "dis-asm.h"
#include "dwarf2-frame.h"
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
#include "floatformat.h"
#include "frame.h"
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
#include "frame-base.h"
#include "frame-unwind.h"
#include "gdbcore.h"
#include "gdbtypes.h"
#include "inferior.h"
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
#include "symtab.h"
#include "objfiles.h"
#include "osabi.h"
#include "regcache.h"
#include "target.h"
#include "value.h"
2003-04-05 Andrew Cagney <cagney@redhat.com> Eliminate FRAME_FIND_SAVED_REGS. * config/pa/tm-hppah.h (hppa_hpux_frame_find_saved_regs_in_sigtramp): Change FSR parameter to a pointer. * config/pa/tm-hppa64.h (FRAME_FIND_SAVED_REGS_IN_SIGTRAMP): Assume FSR parameter is a pointer. * hppa-hpux-tdep.c (hppa_hpux_frame_find_saved_regs_in_sigtramp): Make fsr a pointer. * hppa-tdep.c (hppa_frame_find_saved_regs): New function. (hppa_frame_saved_pc): Call hppa_frame_init_saved_regs. Make saved_regs a pointer. (hppa_frame_saved_pc): Ditto. (find_dummy_frame_regs): Make frame_saved_regs a pointer (hppa_pop_frame): Call hppa_frame_init_saved_regs. Make fsr a pointer. (restore_pc_queue): Make fsr a pointer. (hppa_frame_find_saved_regs): Make frame_saved_regs a pointer. (hppa_frame_chain): Make saved_regs a pointer, call hppa_frame_init_saved_regs. * sparc-tdep.c: Include "gdb_assert.h". (sparc_frame_find_saved_regs): Replace internal_error with gdb_assert. * remote-vxsparc.c (vx_read_register): Delete reference to FRAME_FIND_SAVED_REGS. * gdbarch.sh: Delete check for FRAME_FIND_SAVED_REGS. * gdbarch.h: Regenerate. * frame.h (DEPRECATED_FRAME_INIT_SAVED_REGS): Delete macro. (deprecated_get_frame_saved_regs): Delete declaration. (struct frame_saved_regs): Delete definition. * frame.c (deprecated_get_frame_saved_regs): Delete function. * config/pa/tm-hppa.h (hppa_frame_init_saved_regs): Declare. (hppa_frame_find_saved_regs): Delete declaration. (FRAME_FIND_SAVED_REGS): Delete macro. (DEPRECATED_FRAME_INIT_SAVED_REGS): Define. * config/i386/tm-ptx.h (FRAME_FIND_SAVED_REGS): Delete FRAME_FIND_SAVED_REGS in comment.
2003-04-06 09:13:59 +08:00
#include "gdb_assert.h"
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
#include "gdb_string.h"
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
#include "sparc-tdep.h"
#include "sparc-ravenscar-thread.h"
struct regset;
2004-03-05 23:34:29 +08:00
/* This file implements the SPARC 32-bit ABI as defined by the section
"Low-Level System Information" of the SPARC Compliance Definition
(SCD) 2.4.1, which is the 32-bit System V psABI for SPARC. The SCD
lists changes with respect to the original 32-bit psABI as defined
2004-03-05 23:34:29 +08:00
in the "System V ABI, SPARC Processor Supplement".
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
Note that if we talk about SunOS, we mean SunOS 4.x, which was
BSD-based, which is sometimes (retroactively?) referred to as
Solaris 1.x. If we talk about Solaris we mean Solaris 2.x and
above (Solaris 7, 8 and 9 are nothing but Solaris 2.7, 2.8 and 2.9
suffering from severe version number inflation). Solaris 2.x is
also known as SunOS 5.x, since that's what uname(1) says. Solaris
2.x is SVR4-based. */
/* Please use the sparc32_-prefix for 32-bit specific code, the
sparc64_-prefix for 64-bit specific code and the sparc_-prefix for
code that can handle both. The 64-bit specific code lives in
sparc64-tdep.c; don't add any here. */
/* The SPARC Floating-Point Quad-Precision format is similar to
2010-12-13 01:41:19 +08:00
big-endian IA-64 Quad-Precision format. */
* doublest.c (floatformat_from_length): Use the right element from gdbarch floatformats. (floatformat_from_type, extract_typed_floating) (store_typed_floating): Likewise. * doublest.h: Remove declarations for undefined floatformat arrays. * gdbarch.sh (float_format, double_format, long_double_format): Change to pairs. (pformat): Update for pairs. * gdbarch.c, gdbarch.h: Regenerated. * gdbtypes.c (floatformats_ieee_single, floatformats_ieee_double) (floatformats_ieee_double_littlebyte_bigword) (floatformats_i387_ext, floatformats_m68881_ext, floatformats_arm_ext) (floatformats_ia64_spill, floatformats_ia64_quad, floatformats_vax_f) (floatformats_vax_d): New variables. (builtin_type_ieee_single, builtin_type_ieee_double) (builtin_type_arm_ext, builtin_type_ia64_spill) (builtin_type_ia64_quad): Replace arrays with individual types. (builtin_type_ieee_single_big, builtin_type_ieee_single_little) (builtin_type_ieee_double_big, builtin_type_ieee_double_little) (builtin_type_ieee_double_littlebyte_bigword, builtin_type_i960_ext) (builtin_type_m88110_ext, builtin_type_m88110_harris_ext) (builtin_type_arm_ext_big, builtin_type_arm_ext_littlebyte_bigword) (builtin_type_ia64_spill_big, builtin_type_ia64_spill_little) (builtin_type_ia64_quad_big, builtin_type_ia64_quad_little): Delete unused and endian-specific types. (recursive_dump_type): Update for floatformat pairs. (build_flt): Move higher. Handle bit == -1. Take a floatformat pair. (build_gdbtypes): Use build_flt. (_initialize_gdbtypes): Update set of initialized types. * gdbtypes.h: Update declarations to match gdbtypes.c. (struct main_type): Store a pointer to two floatformats. * arch-utils.c (default_float_format, default_double_format): Delete. * arch-utils.h (default_float_format, default_double_format): Delete. * arm-tdep.c, avr-tdep.c, hppa-tdep.c, hppabsd-tdep.c, i386-tdep.c, ia64-tdep.c, iq2000-tdep.c, m68k-tdep.c, m88k-tdep.c, mips-linux-tdep.c, mips-tdep.c, mt-tdep.c, ppcobsd-tdep.c, sparc-linux-tdep.c, sparc-tdep.c, sparcnbsd-tdep.c, spu-tdep.c, vax-tdep.c, alpha-tdep.c, ppc-sysv-tdep.c: Update.
2007-01-30 01:31:06 +08:00
#define floatformats_sparc_quad floatformats_ia64_quad
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* The stack pointer is offset from the stack frame by a BIAS of 2047
(0x7ff) for 64-bit code. BIAS is likely to be defined on SPARC
hosts, so undefine it first. */
#undef BIAS
#define BIAS 2047
/* Macros to extract fields from SPARC instructions. */
#define X_OP(i) (((i) >> 30) & 0x3)
#define X_RD(i) (((i) >> 25) & 0x1f)
#define X_A(i) (((i) >> 29) & 1)
#define X_COND(i) (((i) >> 25) & 0xf)
#define X_OP2(i) (((i) >> 22) & 0x7)
#define X_IMM22(i) ((i) & 0x3fffff)
#define X_OP3(i) (((i) >> 19) & 0x3f)
#define X_RS1(i) (((i) >> 14) & 0x1f)
#define X_RS2(i) ((i) & 0x1f)
#define X_I(i) (((i) >> 13) & 1)
/* Sign extension macros. */
#define X_DISP22(i) ((X_IMM22 (i) ^ 0x200000) - 0x200000)
#define X_DISP19(i) ((((i) & 0x7ffff) ^ 0x40000) - 0x40000)
#define X_DISP10(i) ((((((i) >> 11) && 0x300) | (((i) >> 5) & 0xff)) ^ 0x200) - 0x200)
#define X_SIMM13(i) ((((i) & 0x1fff) ^ 0x1000) - 0x1000)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Fetch the instruction at PC. Instructions are always big-endian
even if the processor operates in little-endian mode. */
unsigned long
sparc_fetch_instruction (CORE_ADDR pc)
{
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
gdb_byte buf[4];
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
unsigned long insn;
int i;
/* If we can't read the instruction at PC, return zero. */
if (target_read_memory (pc, buf, sizeof (buf)))
return 0;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
insn = 0;
for (i = 0; i < sizeof (buf); i++)
insn = (insn << 8) | buf[i];
return insn;
}
/* Return non-zero if the instruction corresponding to PC is an "unimp"
instruction. */
static int
sparc_is_unimp_insn (CORE_ADDR pc)
{
const unsigned long insn = sparc_fetch_instruction (pc);
return ((insn & 0xc1c00000) == 0);
}
/* OpenBSD/sparc includes StackGhost, which according to the author's
website http://stackghost.cerias.purdue.edu "... transparently and
automatically protects applications' stack frames; more
specifically, it guards the return pointers. The protection
mechanisms require no application source or binary modification and
imposes only a negligible performance penalty."
The same website provides the following description of how
StackGhost works:
"StackGhost interfaces with the kernel trap handler that would
normally write out registers to the stack and the handler that
would read them back in. By XORing a cookie into the
return-address saved in the user stack when it is actually written
to the stack, and then XOR it out when the return-address is pulled
from the stack, StackGhost can cause attacker corrupted return
pointers to behave in a manner the attacker cannot predict.
StackGhost can also use several unused bits in the return pointer
to detect a smashed return pointer and abort the process."
For GDB this means that whenever we're reading %i7 from a stack
frame's window save area, we'll have to XOR the cookie.
More information on StackGuard can be found on in:
Mike Frantzen and Mike Shuey. "StackGhost: Hardware Facilitated
Stack Protection." 2001. Published in USENIX Security Symposium
'01. */
/* Fetch StackGhost Per-Process XOR cookie. */
ULONGEST
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
sparc_fetch_wcookie (struct gdbarch *gdbarch)
{
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
struct target_ops *ops = &current_target;
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
gdb_byte buf[8];
int len;
len = target_read (ops, TARGET_OBJECT_WCOOKIE, NULL, buf, 0, 8);
if (len == -1)
return 0;
/* We should have either an 32-bit or an 64-bit cookie. */
gdb_assert (len == 4 || len == 8);
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
return extract_unsigned_integer (buf, len, byte_order);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* The functions on this page are intended to be used to classify
function arguments. */
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Check whether TYPE is "Integral or Pointer". */
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static int
sparc_integral_or_pointer_p (const struct type *type)
{
int len = TYPE_LENGTH (type);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
switch (TYPE_CODE (type))
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
case TYPE_CODE_INT:
case TYPE_CODE_BOOL:
case TYPE_CODE_CHAR:
case TYPE_CODE_ENUM:
case TYPE_CODE_RANGE:
/* We have byte, half-word, word and extended-word/doubleword
integral types. The doubleword is an extension to the
original 32-bit ABI by the SCD 2.4.x. */
return (len == 1 || len == 2 || len == 4 || len == 8);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
case TYPE_CODE_PTR:
case TYPE_CODE_REF:
/* Allow either 32-bit or 64-bit pointers. */
return (len == 4 || len == 8);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
default:
break;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
return 0;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Check whether TYPE is "Floating". */
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static int
sparc_floating_p (const struct type *type)
{
switch (TYPE_CODE (type))
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
case TYPE_CODE_FLT:
{
int len = TYPE_LENGTH (type);
return (len == 4 || len == 8 || len == 16);
}
default:
break;
}
return 0;
}
/* Check whether TYPE is "Complex Floating". */
static int
sparc_complex_floating_p (const struct type *type)
{
switch (TYPE_CODE (type))
{
case TYPE_CODE_COMPLEX:
{
int len = TYPE_LENGTH (type);
return (len == 8 || len == 16 || len == 32);
}
default:
break;
}
return 0;
}
/* Check whether TYPE is "Structure or Union".
In terms of Ada subprogram calls, arrays are treated the same as
struct and union types. So this function also returns non-zero
for array types. */
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static int
sparc_structure_or_union_p (const struct type *type)
{
switch (TYPE_CODE (type))
{
case TYPE_CODE_STRUCT:
case TYPE_CODE_UNION:
case TYPE_CODE_ARRAY:
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
return 1;
default:
break;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
return 0;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Register information. */
static const char *sparc32_register_names[] =
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
"g0", "g1", "g2", "g3", "g4", "g5", "g6", "g7",
"o0", "o1", "o2", "o3", "o4", "o5", "sp", "o7",
"l0", "l1", "l2", "l3", "l4", "l5", "l6", "l7",
"i0", "i1", "i2", "i3", "i4", "i5", "fp", "i7",
"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
"y", "psr", "wim", "tbr", "pc", "npc", "fsr", "csr"
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
};
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Total number of registers. */
#define SPARC32_NUM_REGS ARRAY_SIZE (sparc32_register_names)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* We provide the aliases %d0..%d30 for the floating registers as
"psuedo" registers. */
static const char *sparc32_pseudo_register_names[] =
{
"d0", "d2", "d4", "d6", "d8", "d10", "d12", "d14",
"d16", "d18", "d20", "d22", "d24", "d26", "d28", "d30"
};
/* Total number of pseudo registers. */
#define SPARC32_NUM_PSEUDO_REGS ARRAY_SIZE (sparc32_pseudo_register_names)
/* Return the name of register REGNUM. */
static const char *
2007-11-02 Markus Deuling <deuling@de.ibm.com> * gdbarch.sh (register_name): Add gdbarch parameter. * gdbarch.{c,h}: Regenerate. * target-descriptions.c (tdesc_register_name): Add gdbarch parameter. (tdesc_register_name): Replace current_gdbarch by gdbarch. * target-descriptions.h (tdesc_register_name): Add gdbarch parameter. * xstormy16-tdep.c (xstormy16_register_name): Add gdbarch parameter. * vax-tdep.c (vax_register_name): Add gdbarch parameter. * spu-tdep.c (spu_register_name): Add gdbarch parameter. * s390-tdep.c (s390_register_name): Add gdbarch parameter. * mt-tdep.c (mt_register_name): Add gdbarch parameter. (mt_registers_info): Replace current_gdbarch by gdbarch. (mt_register_reggroup_p): Add gdbarch to mt_register_name call. * mips-tdep.c (mips_register_name): Add gdbarch parameter. Replace current_gdbarch by gdbarch. (mips_register_name): Add gdbarch to tdesc_register_name call. * mep-tdep.c (mep_register_name): Add gdbarch parameter. Replace current_gdbarch by gdbarch. (mep_register_reggroup_p): Add gdbarch to mep_register_name call. * m32c-tdep.c (m32c_register_name): Add gdbarch parameter. Replace current_gdbarch by gdbarch. * m88k-tdep.c (m88k_register_name): Add gdbarch parameter. * m68k-tdep.c (m68k_register_name): Add gdbarch parameter. * m32r-tdep.c (m32r_register_name): Add gdbarch parameter. (m32r_frame_unwind_cache): Use get_frame_arch to get at the current architecture by frame_info. * iq2000-tdep.c (iq2000_register_name): Add gdbarch parameter. * ia64-tdep.c (ia64_register_name): Add gdbarch parameter. * hppa-tdep.c (hppa32_register_name, hppa64_register_name): Add gdbarch parameter. * h8300-tdep.c (h8300_register_name, h8300s_register_name) (h8300sx_register_name): Add gdbarch parameter. * cris-tdep.c (cris_register_name, crisv32_register_name): Add gdbarch parameter. Replace current_gdbarch by gdbarch. (cris_gdbarch_init): Replace current_gdbarch by gdbarch (comment). * avr-tdep.c (avr_register_name): Add gdbarch parameter. * arm-tdep.c (arm_register_name): Add gdbarch paramete * amd64-tdep.c (amd64_register_name): Add gdbarch parameter. Update caller. * amd64-tdep.h (amd64_register_name): Add gdbarch parameter. * amd64-linux-tdep.c (amd64_linux_register_name): Add gdbarch parameter. * alpha-tdep.c (alpha_register_name): Add gdbarch parameter. (alpha_cannot_fetch_register, alpha_cannot_store_register): Update call of alpha_register_name. * frv-tdep.c (frv_register_name): Add gdbarch parameter. * i386-tdep.c (i386_register_name): Add gdbarch parameter. Replace current_gdbarch by gdbarch. (i386_register_type): Replace ?current_gdbarch by gdbarch. * i386-tdep.h (i386_register_name): Add gdbarch parameter. * i386-linux-tdep.c (i386_linux_register_name): Add gdbarch parameter. * m68hc11-tdep.c (m68hc11_register_name): Add gdbarch parameter. (m68hc11_register_reggroup_p): Add gdbarch to call of m68hc11_register_name. * mn10300-tdep.c (mn10300_generic_register_name, am33_register_name) (am33_2_register_name): Add gdbarch parameter. (mn10300_frame_unwind_cache): Use get_frame_arch to get at the current architecture by frame_info. (mn10300_dump_tdep): Replace current_gdbarch by gdbarch. * rs6000-tdep.c (rs6000_register_name): Add gdbarch parameter. Replace current_gdbarch by gdbarch. * score-tdep.c (score_register_name): Add gdbarch parameter. (score_return_value, score_push_dummy_call): Replace current_gdbarch by gdbarch. * sh64-tdep.c (sh64_register_name): Add gdbarch parameter. (sh64_compact_reg_base_num, sh64_register_convert_to_virtual) (sh64_register_convert_to_raw, sh64_fv_reg_base_num) (sh64_dr_reg_base_num, sh64_fpp_reg_base_num): Add gdbarch parameter and update caller. Replace current_gdbarch by gdbarch. (sh64_extract_return_value, sh64_store_return_value): Use get_regcache_arch to get at the current architecture by regcache. * sh-tdep.c (sh_sh_register_name, sh_sh3_register_name) (sh_sh3e_register_name, sh_sh2e_register_name, sh_sh2a_register_name) (sh_sh2a_nofpu_register_name, sh_sh_dsp_register_name) (sh_sh3_dsp_register_name, sh_sh4_register_name) (sh_sh4_nofpu_register_name, sh_sh4al_dsp_register_name): Add gdbarch parameter. (fv_reg_base_num, dr_reg_base_num, sh_justify_value_in_reg) (sh_next_flt_argreg): Add gdbarch parameter and update caller. Replace current_gdbarch by gdbarch. (sh_extract_return_value_fpu, sh_store_return_value_fpu): Use get_regcache_arch to get at the current architecture by regcache. * sparc-tdep.c (sparc32_register_name): Add gdbarch parameter. * sparc64-tdep.c (sparc64_register_name): Add gdbarch parameter. * v850-tdep.c (v850_register_name, v850e_register_name): Add gdbarch parameter. (v850_unwind_sp, v850_unwind_pc): Replace current_gdbarch by gdbarch. * xtensa-tdep.c (xtensa_register_name): Add gdbarch parameter. Replace current_gdbarch by gdbarch. (xtensa_pseudo_register_read, xtensa_pseudo_register_write) (xtensa_frame_prev_register): Add gdbarch parameter to xtensa_register_name call.
2007-11-02 22:27:15 +08:00
sparc32_register_name (struct gdbarch *gdbarch, int regnum)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
if (regnum >= 0 && regnum < SPARC32_NUM_REGS)
return sparc32_register_names[regnum];
if (regnum < SPARC32_NUM_REGS + SPARC32_NUM_PSEUDO_REGS)
return sparc32_pseudo_register_names[regnum - SPARC32_NUM_REGS];
return NULL;
}
/* Construct types for ISA-specific registers. */
static struct type *
sparc_psr_type (struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
if (!tdep->sparc_psr_type)
{
struct type *type;
* gdbtypes.h (TYPE_OBJFILE_OWNED, TYPE_OWNER): New macros. (TYPE_OBJFILE, TYPE_ALLOC, TYPE_ZALLOC): Reimplement. (alloc_type_arch): Add prototype. (alloc_type_copy): Likewise. (get_type_arch): Likewise. (arch_type): Likewise. (arch_integer_type): Likewise. (arch_character_type): Likewise. (arch_boolean_type): Likewise. (init_float_type): Remove, replace by ... (arch_float_type): ... this. (init_complex_type): Remove, replace by ... (arch_complex_type): ... this. (init_flags_type): Remove, replace by ... (arch_flags_type): ... this. (init_composite_type): Remove, replace by ... (arch_composite_type): ... this. * gdbtypes.c (alloc_type): No longer support NULL objfile. (init_type): Likewise. (alloc_type_arch): New function. (alloc_type_copy): New function. (get_type_arch): New function. (smash_type): Preserve type ownership information. (make_pointer_type, make_reference_type, make_function_type, smash_to_memberptr_type, smash_to_method_type): No longer preserve OBJFILE across smash_type calls. (make_pointer_type, make_reference_type, make_function_type, lookup_memberptr_type, lookup_methodptr_type, allocate_stub_method, create_range_type, create_array_type, create_set_type, copy_type): Use alloc_type_copy when allocating types. (check_typedef): Use alloc_type_arch. (copy_type_recursive): Likewise. Preserve type ownership data after copying type. (recursive_dump_type): Dump type ownership data. (alloc_type_instance): Update type ownership check. (copy_type, copy_type_recursive): Likewise. (arch_type): New function. (arch_integer_type): Likewise. (arch_character_type): Likewise. (arch_boolean_type): Likewise. (init_float_type): Remove, replace by ... (arch_float_type): ... this. (init_complex_type): Remove, replace by ... (arch_complex_type): ... this. (init_flags_type): Remove, replace by ... (arch_flags_type): ... this. (append_flags_type_flag): Move down. (init_composite_type): Remove, replace by ... (arch_composite_type): ... this. (append_composite_type_field_aligned, append_composite_type_field): Move down. * gdbarch.c (gdbtypes_post_init): Allocate all types using per-architecture routines. * ada-lang.c (ada_language_arch_info): Likewise. * f-lang.c (build_fortran_types): Likewise. * jv-lang.c (build_java_types): Likewise. * m2-lang.c (build_m2_types): Likewise. * scm-lang.c (build_scm_types): Likewise. * ada-lang.c (ada_type_of_array): Use alloc_type_copy. (packed_array_type): Likewise. (ada_template_to_fixed_record_type_1): Likewise. (template_to_static_fixed_type): Likewise. (to_record_with_fixed_variant_part): Likewise. (to_fixed_variant_branch_type): Likewise. (to_fixed_array_type): Likewise. (to_fixed_range_type): Likewise. (empty_record): Use type instead of objfile argument. Use alloc_type_copy. (to_fixed_variant_branch_type): Update call to empty_record. * jv-lang.c (type_from_class): Use alloc_type_arch. * arm-tdep.c (arm_ext_type): Allocate per-architecture type. * i386-tdep.c (i386_eflags_type, i386_mxcsr_type, i387_ext_type, i386_mmx_type, i386_sse_type): Likewise. * ia64-tdep.c (ia64_ext_type): Likewise. * m32c-tdep.c (make_types): Likewise. * m68k-tdep.c (m68k_ps_type, m68881_ext_type): Likewise. * rs6000-tdep.c (rs6000_builtin_type_vec64, rs6000_builtin_type_vec128): Likewise. * sparc-tdep.c (sparc_psr_type, sparc_fsr_type): Likewise. * sparc64-tdep.c (sparc64_pstate_type, sparc64_fsr_type, sparc64_fprs_type): Likewise. * spu-tdep.c (spu_builtin_type_vec128): Likewise. * xtensa-tdep.c (xtensa_register_type): Likewise. * linux-tdep.c (linux_get_siginfo_type): Likewise. * target-descriptions.c (tdesc_gdb_type): Likewise. * gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
2009-07-02 20:55:30 +08:00
type = arch_flags_type (gdbarch, "builtin_type_sparc_psr", 4);
append_flags_type_flag (type, 5, "ET");
append_flags_type_flag (type, 6, "PS");
append_flags_type_flag (type, 7, "S");
append_flags_type_flag (type, 12, "EF");
append_flags_type_flag (type, 13, "EC");
tdep->sparc_psr_type = type;
}
return tdep->sparc_psr_type;
}
static struct type *
sparc_fsr_type (struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
if (!tdep->sparc_fsr_type)
{
struct type *type;
* gdbtypes.h (TYPE_OBJFILE_OWNED, TYPE_OWNER): New macros. (TYPE_OBJFILE, TYPE_ALLOC, TYPE_ZALLOC): Reimplement. (alloc_type_arch): Add prototype. (alloc_type_copy): Likewise. (get_type_arch): Likewise. (arch_type): Likewise. (arch_integer_type): Likewise. (arch_character_type): Likewise. (arch_boolean_type): Likewise. (init_float_type): Remove, replace by ... (arch_float_type): ... this. (init_complex_type): Remove, replace by ... (arch_complex_type): ... this. (init_flags_type): Remove, replace by ... (arch_flags_type): ... this. (init_composite_type): Remove, replace by ... (arch_composite_type): ... this. * gdbtypes.c (alloc_type): No longer support NULL objfile. (init_type): Likewise. (alloc_type_arch): New function. (alloc_type_copy): New function. (get_type_arch): New function. (smash_type): Preserve type ownership information. (make_pointer_type, make_reference_type, make_function_type, smash_to_memberptr_type, smash_to_method_type): No longer preserve OBJFILE across smash_type calls. (make_pointer_type, make_reference_type, make_function_type, lookup_memberptr_type, lookup_methodptr_type, allocate_stub_method, create_range_type, create_array_type, create_set_type, copy_type): Use alloc_type_copy when allocating types. (check_typedef): Use alloc_type_arch. (copy_type_recursive): Likewise. Preserve type ownership data after copying type. (recursive_dump_type): Dump type ownership data. (alloc_type_instance): Update type ownership check. (copy_type, copy_type_recursive): Likewise. (arch_type): New function. (arch_integer_type): Likewise. (arch_character_type): Likewise. (arch_boolean_type): Likewise. (init_float_type): Remove, replace by ... (arch_float_type): ... this. (init_complex_type): Remove, replace by ... (arch_complex_type): ... this. (init_flags_type): Remove, replace by ... (arch_flags_type): ... this. (append_flags_type_flag): Move down. (init_composite_type): Remove, replace by ... (arch_composite_type): ... this. (append_composite_type_field_aligned, append_composite_type_field): Move down. * gdbarch.c (gdbtypes_post_init): Allocate all types using per-architecture routines. * ada-lang.c (ada_language_arch_info): Likewise. * f-lang.c (build_fortran_types): Likewise. * jv-lang.c (build_java_types): Likewise. * m2-lang.c (build_m2_types): Likewise. * scm-lang.c (build_scm_types): Likewise. * ada-lang.c (ada_type_of_array): Use alloc_type_copy. (packed_array_type): Likewise. (ada_template_to_fixed_record_type_1): Likewise. (template_to_static_fixed_type): Likewise. (to_record_with_fixed_variant_part): Likewise. (to_fixed_variant_branch_type): Likewise. (to_fixed_array_type): Likewise. (to_fixed_range_type): Likewise. (empty_record): Use type instead of objfile argument. Use alloc_type_copy. (to_fixed_variant_branch_type): Update call to empty_record. * jv-lang.c (type_from_class): Use alloc_type_arch. * arm-tdep.c (arm_ext_type): Allocate per-architecture type. * i386-tdep.c (i386_eflags_type, i386_mxcsr_type, i387_ext_type, i386_mmx_type, i386_sse_type): Likewise. * ia64-tdep.c (ia64_ext_type): Likewise. * m32c-tdep.c (make_types): Likewise. * m68k-tdep.c (m68k_ps_type, m68881_ext_type): Likewise. * rs6000-tdep.c (rs6000_builtin_type_vec64, rs6000_builtin_type_vec128): Likewise. * sparc-tdep.c (sparc_psr_type, sparc_fsr_type): Likewise. * sparc64-tdep.c (sparc64_pstate_type, sparc64_fsr_type, sparc64_fprs_type): Likewise. * spu-tdep.c (spu_builtin_type_vec128): Likewise. * xtensa-tdep.c (xtensa_register_type): Likewise. * linux-tdep.c (linux_get_siginfo_type): Likewise. * target-descriptions.c (tdesc_gdb_type): Likewise. * gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
2009-07-02 20:55:30 +08:00
type = arch_flags_type (gdbarch, "builtin_type_sparc_fsr", 4);
append_flags_type_flag (type, 0, "NXA");
append_flags_type_flag (type, 1, "DZA");
append_flags_type_flag (type, 2, "UFA");
append_flags_type_flag (type, 3, "OFA");
append_flags_type_flag (type, 4, "NVA");
append_flags_type_flag (type, 5, "NXC");
append_flags_type_flag (type, 6, "DZC");
append_flags_type_flag (type, 7, "UFC");
append_flags_type_flag (type, 8, "OFC");
append_flags_type_flag (type, 9, "NVC");
append_flags_type_flag (type, 22, "NS");
append_flags_type_flag (type, 23, "NXM");
append_flags_type_flag (type, 24, "DZM");
append_flags_type_flag (type, 25, "UFM");
append_flags_type_flag (type, 26, "OFM");
append_flags_type_flag (type, 27, "NVM");
tdep->sparc_fsr_type = type;
}
return tdep->sparc_fsr_type;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Return the GDB type object for the "standard" data type of data in
register REGNUM. */
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static struct type *
sparc32_register_type (struct gdbarch *gdbarch, int regnum)
{
if (regnum >= SPARC_F0_REGNUM && regnum <= SPARC_F31_REGNUM)
* alpha-tdep.c (alpha_register_type): Use builtin_type (gdbarch) instead of builtin_type_ macros. * amd64-tdep.c (amd64_register_type): Likewise. (amd64_get_longjmp_target): Likewise. * arm-tdep.c (arm_register_type): Likewise. * avr-tdep.c (avr_register_type): Likewise. * cris-tdep.c (cris_register_type, crisv32_register_type): Likewise. * frv-tdep.c (frv_register_type): Likewise. * h8300-tdep.c (h8300_register_type): Likewise. * hppa-tdep.c (hppa32_convert_from_func_ptr_addr, hppa_skip_trampoline_code): Likewise. * i386-tdep.c (i386_register_type): Likewise. (i386_unwind_pc, i386_sse_type): Likewise. * ia64-tdep.c (ia64_register_type): Likewise. * m32r-tdep.c (m32r_register_type): Likewise. * m68k-tdep.c (m68k_register_type, m68k_unwind_pc): Likewise. * m88k-tdep.c (m88k_register_type): Likewise. * mep-tdep.c (mep_register_type): Likewise. * mips-tdep.c (mips_pseudo_register_type): Likewise. * mn10300-tdep.c (mn10300_register_type): Likewise. * mt-tdep.c (mt_copro_register_type): Likewise. * rs6000-tdep.c (rs6000_builtin_type_vec64): Likewise. (rs6000_convert_register_p, rs6000_register_to_value, rs6000_value_to_register): Likewise. * s390-tdep.c (s390_register_type): Likewise. * sh64-tdep.c (sh64_register_type): Likewise. (sh64_build_float_register_type, sh64_do_fp_register): Likewise. * sh-tdep.c (sh_sh2a_register_type, sh_sh3e_register_type, sh_sh4_build_float_register_type, sh_sh4_register_type, sh_default_register_type): Likewise. * sparc64-tdep.c (sparc64_register_type): Likewise. * sparc-tdep.c (sparc32_register_type): Likewise. * spu-tdep.c (spu_builtin_type_vec128, spu_register_type): Likewise. * v850-tdep.c (v850_register_type): Likewise. * vax-tdep.c (vax_register_type): Likewise. * xtensa-tdep.c (xtensa_register_type, xtensa_unwind_pc, xtensa_push_dummy_call): Likewise. * std-regs.c (value_of_builtin_frame_fp_reg, value_of_builtin_frame_pc_reg): Likewise. * target-descriptions.c (tdesc_register_type): Likewise.
2008-09-11 22:23:15 +08:00
return builtin_type (gdbarch)->builtin_float;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum >= SPARC32_D0_REGNUM && regnum <= SPARC32_D30_REGNUM)
* alpha-tdep.c (alpha_register_type): Use builtin_type (gdbarch) instead of builtin_type_ macros. * amd64-tdep.c (amd64_register_type): Likewise. (amd64_get_longjmp_target): Likewise. * arm-tdep.c (arm_register_type): Likewise. * avr-tdep.c (avr_register_type): Likewise. * cris-tdep.c (cris_register_type, crisv32_register_type): Likewise. * frv-tdep.c (frv_register_type): Likewise. * h8300-tdep.c (h8300_register_type): Likewise. * hppa-tdep.c (hppa32_convert_from_func_ptr_addr, hppa_skip_trampoline_code): Likewise. * i386-tdep.c (i386_register_type): Likewise. (i386_unwind_pc, i386_sse_type): Likewise. * ia64-tdep.c (ia64_register_type): Likewise. * m32r-tdep.c (m32r_register_type): Likewise. * m68k-tdep.c (m68k_register_type, m68k_unwind_pc): Likewise. * m88k-tdep.c (m88k_register_type): Likewise. * mep-tdep.c (mep_register_type): Likewise. * mips-tdep.c (mips_pseudo_register_type): Likewise. * mn10300-tdep.c (mn10300_register_type): Likewise. * mt-tdep.c (mt_copro_register_type): Likewise. * rs6000-tdep.c (rs6000_builtin_type_vec64): Likewise. (rs6000_convert_register_p, rs6000_register_to_value, rs6000_value_to_register): Likewise. * s390-tdep.c (s390_register_type): Likewise. * sh64-tdep.c (sh64_register_type): Likewise. (sh64_build_float_register_type, sh64_do_fp_register): Likewise. * sh-tdep.c (sh_sh2a_register_type, sh_sh3e_register_type, sh_sh4_build_float_register_type, sh_sh4_register_type, sh_default_register_type): Likewise. * sparc64-tdep.c (sparc64_register_type): Likewise. * sparc-tdep.c (sparc32_register_type): Likewise. * spu-tdep.c (spu_builtin_type_vec128, spu_register_type): Likewise. * v850-tdep.c (v850_register_type): Likewise. * vax-tdep.c (vax_register_type): Likewise. * xtensa-tdep.c (xtensa_register_type, xtensa_unwind_pc, xtensa_push_dummy_call): Likewise. * std-regs.c (value_of_builtin_frame_fp_reg, value_of_builtin_frame_pc_reg): Likewise. * target-descriptions.c (tdesc_register_type): Likewise.
2008-09-11 22:23:15 +08:00
return builtin_type (gdbarch)->builtin_double;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC_SP_REGNUM || regnum == SPARC_FP_REGNUM)
* alpha-tdep.c (alpha_register_type): Use builtin_type (gdbarch) instead of builtin_type_ macros. * amd64-tdep.c (amd64_register_type): Likewise. (amd64_get_longjmp_target): Likewise. * arm-tdep.c (arm_register_type): Likewise. * avr-tdep.c (avr_register_type): Likewise. * cris-tdep.c (cris_register_type, crisv32_register_type): Likewise. * frv-tdep.c (frv_register_type): Likewise. * h8300-tdep.c (h8300_register_type): Likewise. * hppa-tdep.c (hppa32_convert_from_func_ptr_addr, hppa_skip_trampoline_code): Likewise. * i386-tdep.c (i386_register_type): Likewise. (i386_unwind_pc, i386_sse_type): Likewise. * ia64-tdep.c (ia64_register_type): Likewise. * m32r-tdep.c (m32r_register_type): Likewise. * m68k-tdep.c (m68k_register_type, m68k_unwind_pc): Likewise. * m88k-tdep.c (m88k_register_type): Likewise. * mep-tdep.c (mep_register_type): Likewise. * mips-tdep.c (mips_pseudo_register_type): Likewise. * mn10300-tdep.c (mn10300_register_type): Likewise. * mt-tdep.c (mt_copro_register_type): Likewise. * rs6000-tdep.c (rs6000_builtin_type_vec64): Likewise. (rs6000_convert_register_p, rs6000_register_to_value, rs6000_value_to_register): Likewise. * s390-tdep.c (s390_register_type): Likewise. * sh64-tdep.c (sh64_register_type): Likewise. (sh64_build_float_register_type, sh64_do_fp_register): Likewise. * sh-tdep.c (sh_sh2a_register_type, sh_sh3e_register_type, sh_sh4_build_float_register_type, sh_sh4_register_type, sh_default_register_type): Likewise. * sparc64-tdep.c (sparc64_register_type): Likewise. * sparc-tdep.c (sparc32_register_type): Likewise. * spu-tdep.c (spu_builtin_type_vec128, spu_register_type): Likewise. * v850-tdep.c (v850_register_type): Likewise. * vax-tdep.c (vax_register_type): Likewise. * xtensa-tdep.c (xtensa_register_type, xtensa_unwind_pc, xtensa_push_dummy_call): Likewise. * std-regs.c (value_of_builtin_frame_fp_reg, value_of_builtin_frame_pc_reg): Likewise. * target-descriptions.c (tdesc_register_type): Likewise.
2008-09-11 22:23:15 +08:00
return builtin_type (gdbarch)->builtin_data_ptr;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC32_PC_REGNUM || regnum == SPARC32_NPC_REGNUM)
* alpha-tdep.c (alpha_register_type): Use builtin_type (gdbarch) instead of builtin_type_ macros. * amd64-tdep.c (amd64_register_type): Likewise. (amd64_get_longjmp_target): Likewise. * arm-tdep.c (arm_register_type): Likewise. * avr-tdep.c (avr_register_type): Likewise. * cris-tdep.c (cris_register_type, crisv32_register_type): Likewise. * frv-tdep.c (frv_register_type): Likewise. * h8300-tdep.c (h8300_register_type): Likewise. * hppa-tdep.c (hppa32_convert_from_func_ptr_addr, hppa_skip_trampoline_code): Likewise. * i386-tdep.c (i386_register_type): Likewise. (i386_unwind_pc, i386_sse_type): Likewise. * ia64-tdep.c (ia64_register_type): Likewise. * m32r-tdep.c (m32r_register_type): Likewise. * m68k-tdep.c (m68k_register_type, m68k_unwind_pc): Likewise. * m88k-tdep.c (m88k_register_type): Likewise. * mep-tdep.c (mep_register_type): Likewise. * mips-tdep.c (mips_pseudo_register_type): Likewise. * mn10300-tdep.c (mn10300_register_type): Likewise. * mt-tdep.c (mt_copro_register_type): Likewise. * rs6000-tdep.c (rs6000_builtin_type_vec64): Likewise. (rs6000_convert_register_p, rs6000_register_to_value, rs6000_value_to_register): Likewise. * s390-tdep.c (s390_register_type): Likewise. * sh64-tdep.c (sh64_register_type): Likewise. (sh64_build_float_register_type, sh64_do_fp_register): Likewise. * sh-tdep.c (sh_sh2a_register_type, sh_sh3e_register_type, sh_sh4_build_float_register_type, sh_sh4_register_type, sh_default_register_type): Likewise. * sparc64-tdep.c (sparc64_register_type): Likewise. * sparc-tdep.c (sparc32_register_type): Likewise. * spu-tdep.c (spu_builtin_type_vec128, spu_register_type): Likewise. * v850-tdep.c (v850_register_type): Likewise. * vax-tdep.c (vax_register_type): Likewise. * xtensa-tdep.c (xtensa_register_type, xtensa_unwind_pc, xtensa_push_dummy_call): Likewise. * std-regs.c (value_of_builtin_frame_fp_reg, value_of_builtin_frame_pc_reg): Likewise. * target-descriptions.c (tdesc_register_type): Likewise.
2008-09-11 22:23:15 +08:00
return builtin_type (gdbarch)->builtin_func_ptr;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC32_PSR_REGNUM)
return sparc_psr_type (gdbarch);
if (regnum == SPARC32_FSR_REGNUM)
return sparc_fsr_type (gdbarch);
* gdbtypes.h (builtin_type_int0, builtin_type_int8, builtin_type_uint8, builtin_type_int16, builtin_type_uint16, builtin_type_int32, builtin_type_uint32, builtin_type_int64, builtin_type_uint64, builtin_type_int128, builtin_type_uint128): Remove. (struct builtin_type): New members builtin_int0, builtin_int8, builtin_uint8, builtin_int16, builtin_uint16, builtin_int32, builtin_uint32, builtin_int64, builtin_uint64, builtin_int128, and builtin_uint128. * gdbtypes.c (builtin_type_int0, builtin_type_int8, builtin_type_uint8, builtin_type_int16, builtin_type_uint16, builtin_type_int32, builtin_type_uint32, builtin_type_int64, builtin_type_uint64, builtin_type_int128, builtin_type_uint128): Remove. (_initialize_gdbtypes): Do not initialize them. (gdbtypes_post_init): Initialize fixed-size integer types. * dwarf2expr.c (unsigned_address_type, signed_address_type): Add GDBARCH argument. Return platform-specific type. (dwarf2_read_address, execute_stack_op): Update calls. * target-descriptions.c (tdesc_gdb_type): Use platform-specific types instead of global builtin_int_... variables. * mi/mi-main.c (mi_cmd_data_read_memory): Likewise. * printcmd.c (do_examine): Likewise. * jv-exp.y (parse_number): Likewise. * alpha-tdep.c (alpha_register_type, alpha_push_dummy_call, alpha_store_return_value): Likewise. * amd64-linux-tdep.c (amd64_linux_register_type): Likewise. * amd64-tdep.c (amd64_register_type): Likewise. * arm-tdep.c (arm_register_type): Likewise. * avr-tdep.c (avr_register_type): Likewise. * cris-tdep.c (cris_register_type, crisv32_register_type): Likewise. * frv-tdep.c (frv_register_type): Likewise. * h8300-tdep.c h8300_register_type): Likewise. * hppa-tdep.c (hppa64_push_dummy_call, hppa32_register_type, hppa64_register_type): Likewise. * i386-tdep.c (i386_mmx_type, i386_sse_type): Likewise. * iq2000-tdep.c (iq2000_register_type): Likewise. * lm32-tdep.c (lm32_register_type, lm32_push_dummy_call): Likewise. * m32r-tdep.c (m32r_register_type): Likewise. * m68hc11-tdep.c (m68hc11_register_type, m68hc11_pseudo_register_read, m68hc11_pseudo_register_write): Likewise. * m68k-tdep.c (m68k_register_type): Likewise. * m88k-tdep.c (m88k_register_type, m88k_store_arguments): Likewise. * mep-tdep.c (mep_register_type): Likewise. * mips-tdep.c (mips_register_type, mips_pseudo_register_type, mips_print_fp_register): Likewise. * moxie-tdep.c (moxie_register_type): Likewise. * mt-tdep.c (mt_copro_register_type, mt_register_type): Likewise. * rs6000-tdep.c (rs6000_builtin_type_vec64, rs6000_builtin_type_vec128): Likewise. * score-tdep.c (score_register_type): Likewise. * sparc-tdep.c (sparc32_register_type, sparc32_store_arguments): Likewise. * sparc64-tdep.c (sparc64_register_type, sparc64_store_arguments): Likewise. * spu-tdep.c (spu_builtin_type_vec128, spu_register_type): Likewise. * v850-tdep.c (v850_register_type): Likewise. * xstormy16-tdep.c (xstormy16_register_type): Likewise. * xtensa-tdep.c (xtensa_register_type): Likewise. * mt-tdep.c (struct gdbarch_tdep): New data structure. (mt_gdbarch_init): Alloc TDEP structures. (mt_register_type): Cache coprocessor type in TDEP instead of static global variable. * xtensa-tdep.h (struct gdbarch_tdep): Add type_entries member. * xtensa-tdep.c (type_entries): Remove. (xtensa_register_type): Cache fixed-size types in TDEP instead of in global variable.
2009-07-02 20:46:19 +08:00
return builtin_type (gdbarch)->builtin_int32;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
}
gdb/ * regcache.h (regcache_raw_read, regcache_raw_read_signed) (regcache_raw_read_unsigned, regcache_raw_read_signed) (regcache_raw_read_unsigned, regcache_raw_read_part) (regcache_cooked_read, regcache_cooked_read_signed) (regcache_cooked_read_unsigned, regcache_cooked_read_part) (regcache_cooked_read_ftype): Change return to enum register_status. * regcache.c: Include exceptions.h (regcache_save): Adjust to handle REG_UNAVAILABLE registers. (do_cooked_read): Change return to enum register_status. Always forward to regcache_cooked_read. (regcache_raw_read): Change return to enum register_status. If the register is not REG_VALID, memset the buffer. Return the register's status. (regcache_raw_read_signed): Handle non-REG_VALID registers and return the register's status. (regcache_raw_read_unsigned): Ditto. (regcache_cooked_read): Change return to enum register_status. Assert that with read-only regcaches, the register's status must be known. If the regcache is read-only, and the register is not REG_VALID, memset the buffer. Return the register's status. (regcache_cooked_read_signed): Change return to enum register_status. Handle non-REG_VALID registers and return the register's status. (regcache_cooked_read_unsigned): Change return to enum register_status. Handle non-REG_VALID registers and return the register's status. (regcache_xfer_part, regcache_raw_read_part) (regcache_cooked_read_part): Change return to enum register_status. Return the register's status. (regcache_read_pc): Throw NOT_AVAILABLE_ERROR if the register is unavailable. (regcache_dump): Handle unavailable cooked registers. * frame.c (do_frame_register_read): Adjust interface to match regcache_cooked_read_ftype. * gdbarch.sh (pseudo_register_read): Change return to enum register_status. * gdbarch.h, gdbarch.c: Regenerate. * i386-tdep.h (i386_pseudo_register_read): Change return to enum register_status. * i386-tdep.c (i386_pseudo_register_read): Change return to enum register_status. If reading a raw register indicates the raw register is not valid, return the raw register's status, otherwise, return REG_VALID. * amd64-tdep.c (amd64_pseudo_register_read): Change return to enum register_status. Handle non-REG_VALID raw registers and return the register's status. * arm-tdep.c (arm_neon_quad_read) (arm_pseudo_read): Change return to enum register_status. Handle non-REG_VALID raw registers and return the register's status. * avr-tdep.c (avr_pseudo_register_read): Ditto. * frv-tdep.c (frv_pseudo_register_read): Ditto. * h8300-tdep.c (h8300_pseudo_register_read): Ditto. * hppa-tdep.c (hppa_pseudo_register_read): Ditto. * m32c-tdep.c (m32c_move_reg_t): Change return to enum register_status. (m32c_raw_read, m32c_raw_write, m32c_banked_read) (m32c_banked_write, m32c_sb_read, m32c_sb_write, m32c_part_read) (m32c_part_write, m32c_cat_read, m32c_cat_write) (m32c_r3r2r1r0_read, m32c_r3r2r1r0_write) (m32c_pseudo_register_read): Change return to enum register_status. Adjust. * m68hc11-tdep.c (m68hc11_pseudo_register_read): Change return to enum register_status. Return the register's status. * mep-tdep.c (mep_pseudo_cr32_read): Change return to enum register_status. Return the register's status. (mep_pseudo_cr64_read, mep_pseudo_register_read): Ditto. * mips-tdep.c (mips_pseudo_register_read): Ditto. * mt-tdep.c (mt_pseudo_register_read): Ditto. * rs6000-tdep.c (move_ev_register_func): New typedef. (e500_move_ev_register): Use it. Change return to enum register_status. Return the register's status. (do_regcache_raw_read): New function. (do_regcache_raw_write): New function. (e500_pseudo_register_read): Change return to enum register_status. Return the register's status. Use do_regcache_raw_read. (e500_pseudo_register_write): Adjust. Use do_regcache_raw_write. (dfp_pseudo_register_read): Change return to enum register_status. Return the register's status. (vsx_pseudo_register_read): Ditto. (efpr_pseudo_register_read): Ditto. (rs6000_pseudo_register_read): Ditto. * s390-tdep.c (s390_pseudo_register_read): Change return to enum register_status. Return the register's status. * sh64-tdep.c (pseudo_register_read_portions): New function. (sh64_pseudo_register_read): Change return to enum register_status. Use pseudo_register_read_portions. Return the register's status. * ia64-tdep.c (ia64_pseudo_register_read): Change return to enum register_status. Return the register's status. * sh-tdep.c (pseudo_register_read_portions): New function. (sh_pseudo_register_read): Change return to enum register_status. Use pseudo_register_read_portions. Return the register's status. * sparc-tdep.c (sparc32_pseudo_register_read): Change return to enum register_status. Return the register's status. * sparc64-tdep.c (sparc64_pseudo_register_read): Ditto. * spu-tdep.c (spu_pseudo_register_read_spu) (spu_pseudo_register_read): Ditto. * xtensa-tdep.c (xtensa_register_read_masked) (xtensa_pseudo_register_read): Ditto. * bfin-tdep.c (bfin_pseudo_register_read): Ditto.
2011-03-19 02:38:44 +08:00
static enum register_status
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
sparc32_pseudo_register_read (struct gdbarch *gdbarch,
struct regcache *regcache,
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
int regnum, gdb_byte *buf)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
gdb/ * regcache.h (regcache_raw_read, regcache_raw_read_signed) (regcache_raw_read_unsigned, regcache_raw_read_signed) (regcache_raw_read_unsigned, regcache_raw_read_part) (regcache_cooked_read, regcache_cooked_read_signed) (regcache_cooked_read_unsigned, regcache_cooked_read_part) (regcache_cooked_read_ftype): Change return to enum register_status. * regcache.c: Include exceptions.h (regcache_save): Adjust to handle REG_UNAVAILABLE registers. (do_cooked_read): Change return to enum register_status. Always forward to regcache_cooked_read. (regcache_raw_read): Change return to enum register_status. If the register is not REG_VALID, memset the buffer. Return the register's status. (regcache_raw_read_signed): Handle non-REG_VALID registers and return the register's status. (regcache_raw_read_unsigned): Ditto. (regcache_cooked_read): Change return to enum register_status. Assert that with read-only regcaches, the register's status must be known. If the regcache is read-only, and the register is not REG_VALID, memset the buffer. Return the register's status. (regcache_cooked_read_signed): Change return to enum register_status. Handle non-REG_VALID registers and return the register's status. (regcache_cooked_read_unsigned): Change return to enum register_status. Handle non-REG_VALID registers and return the register's status. (regcache_xfer_part, regcache_raw_read_part) (regcache_cooked_read_part): Change return to enum register_status. Return the register's status. (regcache_read_pc): Throw NOT_AVAILABLE_ERROR if the register is unavailable. (regcache_dump): Handle unavailable cooked registers. * frame.c (do_frame_register_read): Adjust interface to match regcache_cooked_read_ftype. * gdbarch.sh (pseudo_register_read): Change return to enum register_status. * gdbarch.h, gdbarch.c: Regenerate. * i386-tdep.h (i386_pseudo_register_read): Change return to enum register_status. * i386-tdep.c (i386_pseudo_register_read): Change return to enum register_status. If reading a raw register indicates the raw register is not valid, return the raw register's status, otherwise, return REG_VALID. * amd64-tdep.c (amd64_pseudo_register_read): Change return to enum register_status. Handle non-REG_VALID raw registers and return the register's status. * arm-tdep.c (arm_neon_quad_read) (arm_pseudo_read): Change return to enum register_status. Handle non-REG_VALID raw registers and return the register's status. * avr-tdep.c (avr_pseudo_register_read): Ditto. * frv-tdep.c (frv_pseudo_register_read): Ditto. * h8300-tdep.c (h8300_pseudo_register_read): Ditto. * hppa-tdep.c (hppa_pseudo_register_read): Ditto. * m32c-tdep.c (m32c_move_reg_t): Change return to enum register_status. (m32c_raw_read, m32c_raw_write, m32c_banked_read) (m32c_banked_write, m32c_sb_read, m32c_sb_write, m32c_part_read) (m32c_part_write, m32c_cat_read, m32c_cat_write) (m32c_r3r2r1r0_read, m32c_r3r2r1r0_write) (m32c_pseudo_register_read): Change return to enum register_status. Adjust. * m68hc11-tdep.c (m68hc11_pseudo_register_read): Change return to enum register_status. Return the register's status. * mep-tdep.c (mep_pseudo_cr32_read): Change return to enum register_status. Return the register's status. (mep_pseudo_cr64_read, mep_pseudo_register_read): Ditto. * mips-tdep.c (mips_pseudo_register_read): Ditto. * mt-tdep.c (mt_pseudo_register_read): Ditto. * rs6000-tdep.c (move_ev_register_func): New typedef. (e500_move_ev_register): Use it. Change return to enum register_status. Return the register's status. (do_regcache_raw_read): New function. (do_regcache_raw_write): New function. (e500_pseudo_register_read): Change return to enum register_status. Return the register's status. Use do_regcache_raw_read. (e500_pseudo_register_write): Adjust. Use do_regcache_raw_write. (dfp_pseudo_register_read): Change return to enum register_status. Return the register's status. (vsx_pseudo_register_read): Ditto. (efpr_pseudo_register_read): Ditto. (rs6000_pseudo_register_read): Ditto. * s390-tdep.c (s390_pseudo_register_read): Change return to enum register_status. Return the register's status. * sh64-tdep.c (pseudo_register_read_portions): New function. (sh64_pseudo_register_read): Change return to enum register_status. Use pseudo_register_read_portions. Return the register's status. * ia64-tdep.c (ia64_pseudo_register_read): Change return to enum register_status. Return the register's status. * sh-tdep.c (pseudo_register_read_portions): New function. (sh_pseudo_register_read): Change return to enum register_status. Use pseudo_register_read_portions. Return the register's status. * sparc-tdep.c (sparc32_pseudo_register_read): Change return to enum register_status. Return the register's status. * sparc64-tdep.c (sparc64_pseudo_register_read): Ditto. * spu-tdep.c (spu_pseudo_register_read_spu) (spu_pseudo_register_read): Ditto. * xtensa-tdep.c (xtensa_register_read_masked) (xtensa_pseudo_register_read): Ditto. * bfin-tdep.c (bfin_pseudo_register_read): Ditto.
2011-03-19 02:38:44 +08:00
enum register_status status;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
gdb_assert (regnum >= SPARC32_D0_REGNUM && regnum <= SPARC32_D30_REGNUM);
regnum = SPARC_F0_REGNUM + 2 * (regnum - SPARC32_D0_REGNUM);
gdb/ * regcache.h (regcache_raw_read, regcache_raw_read_signed) (regcache_raw_read_unsigned, regcache_raw_read_signed) (regcache_raw_read_unsigned, regcache_raw_read_part) (regcache_cooked_read, regcache_cooked_read_signed) (regcache_cooked_read_unsigned, regcache_cooked_read_part) (regcache_cooked_read_ftype): Change return to enum register_status. * regcache.c: Include exceptions.h (regcache_save): Adjust to handle REG_UNAVAILABLE registers. (do_cooked_read): Change return to enum register_status. Always forward to regcache_cooked_read. (regcache_raw_read): Change return to enum register_status. If the register is not REG_VALID, memset the buffer. Return the register's status. (regcache_raw_read_signed): Handle non-REG_VALID registers and return the register's status. (regcache_raw_read_unsigned): Ditto. (regcache_cooked_read): Change return to enum register_status. Assert that with read-only regcaches, the register's status must be known. If the regcache is read-only, and the register is not REG_VALID, memset the buffer. Return the register's status. (regcache_cooked_read_signed): Change return to enum register_status. Handle non-REG_VALID registers and return the register's status. (regcache_cooked_read_unsigned): Change return to enum register_status. Handle non-REG_VALID registers and return the register's status. (regcache_xfer_part, regcache_raw_read_part) (regcache_cooked_read_part): Change return to enum register_status. Return the register's status. (regcache_read_pc): Throw NOT_AVAILABLE_ERROR if the register is unavailable. (regcache_dump): Handle unavailable cooked registers. * frame.c (do_frame_register_read): Adjust interface to match regcache_cooked_read_ftype. * gdbarch.sh (pseudo_register_read): Change return to enum register_status. * gdbarch.h, gdbarch.c: Regenerate. * i386-tdep.h (i386_pseudo_register_read): Change return to enum register_status. * i386-tdep.c (i386_pseudo_register_read): Change return to enum register_status. If reading a raw register indicates the raw register is not valid, return the raw register's status, otherwise, return REG_VALID. * amd64-tdep.c (amd64_pseudo_register_read): Change return to enum register_status. Handle non-REG_VALID raw registers and return the register's status. * arm-tdep.c (arm_neon_quad_read) (arm_pseudo_read): Change return to enum register_status. Handle non-REG_VALID raw registers and return the register's status. * avr-tdep.c (avr_pseudo_register_read): Ditto. * frv-tdep.c (frv_pseudo_register_read): Ditto. * h8300-tdep.c (h8300_pseudo_register_read): Ditto. * hppa-tdep.c (hppa_pseudo_register_read): Ditto. * m32c-tdep.c (m32c_move_reg_t): Change return to enum register_status. (m32c_raw_read, m32c_raw_write, m32c_banked_read) (m32c_banked_write, m32c_sb_read, m32c_sb_write, m32c_part_read) (m32c_part_write, m32c_cat_read, m32c_cat_write) (m32c_r3r2r1r0_read, m32c_r3r2r1r0_write) (m32c_pseudo_register_read): Change return to enum register_status. Adjust. * m68hc11-tdep.c (m68hc11_pseudo_register_read): Change return to enum register_status. Return the register's status. * mep-tdep.c (mep_pseudo_cr32_read): Change return to enum register_status. Return the register's status. (mep_pseudo_cr64_read, mep_pseudo_register_read): Ditto. * mips-tdep.c (mips_pseudo_register_read): Ditto. * mt-tdep.c (mt_pseudo_register_read): Ditto. * rs6000-tdep.c (move_ev_register_func): New typedef. (e500_move_ev_register): Use it. Change return to enum register_status. Return the register's status. (do_regcache_raw_read): New function. (do_regcache_raw_write): New function. (e500_pseudo_register_read): Change return to enum register_status. Return the register's status. Use do_regcache_raw_read. (e500_pseudo_register_write): Adjust. Use do_regcache_raw_write. (dfp_pseudo_register_read): Change return to enum register_status. Return the register's status. (vsx_pseudo_register_read): Ditto. (efpr_pseudo_register_read): Ditto. (rs6000_pseudo_register_read): Ditto. * s390-tdep.c (s390_pseudo_register_read): Change return to enum register_status. Return the register's status. * sh64-tdep.c (pseudo_register_read_portions): New function. (sh64_pseudo_register_read): Change return to enum register_status. Use pseudo_register_read_portions. Return the register's status. * ia64-tdep.c (ia64_pseudo_register_read): Change return to enum register_status. Return the register's status. * sh-tdep.c (pseudo_register_read_portions): New function. (sh_pseudo_register_read): Change return to enum register_status. Use pseudo_register_read_portions. Return the register's status. * sparc-tdep.c (sparc32_pseudo_register_read): Change return to enum register_status. Return the register's status. * sparc64-tdep.c (sparc64_pseudo_register_read): Ditto. * spu-tdep.c (spu_pseudo_register_read_spu) (spu_pseudo_register_read): Ditto. * xtensa-tdep.c (xtensa_register_read_masked) (xtensa_pseudo_register_read): Ditto. * bfin-tdep.c (bfin_pseudo_register_read): Ditto.
2011-03-19 02:38:44 +08:00
status = regcache_raw_read (regcache, regnum, buf);
if (status == REG_VALID)
status = regcache_raw_read (regcache, regnum + 1, buf + 4);
return status;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
}
static void
sparc32_pseudo_register_write (struct gdbarch *gdbarch,
struct regcache *regcache,
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
int regnum, const gdb_byte *buf)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
gdb_assert (regnum >= SPARC32_D0_REGNUM && regnum <= SPARC32_D30_REGNUM);
regnum = SPARC_F0_REGNUM + 2 * (regnum - SPARC32_D0_REGNUM);
regcache_raw_write (regcache, regnum, buf);
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
regcache_raw_write (regcache, regnum + 1, buf + 4);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
}
static CORE_ADDR
sparc32_frame_align (struct gdbarch *gdbarch, CORE_ADDR address)
{
/* The ABI requires double-word alignment. */
return address & ~0x7;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static CORE_ADDR
sparc32_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp,
CORE_ADDR funcaddr,
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
struct value **args, int nargs,
struct type *value_type,
CORE_ADDR *real_pc, CORE_ADDR *bp_addr,
struct regcache *regcache)
{
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
*bp_addr = sp - 4;
*real_pc = funcaddr;
* dummy-frame.c (deprecated_pc_in_call_dummy): Add GDBARCH parameter, use it instead of current_gdbarch. * frame.h (deprecated_pc_in_call_dummy): Add GDBARCH parameter. * arm-tdep.c (arm_skip_prologue): Pass architecture to deprecated_pc_in_call_dummy. * symtab.c (skip_prologue_using_sal): Add GDBARCH parameter. Use it instead of current_gdbarch. * symtab.h (skip_prologue_using_sal): Add GDBARCH parameter. * breakpoint.c (expand_line_sal_maybe): Pass architecture to skip_prologue_using_sal. * arm-tdep.c (skip_prologue_using_sal): Likewise. * lm32-tdep.c (lm32_skip_prologue): Likewise. * m32-tdep.c (m32c_skip_prologue): Likewise. * mips-tdep.c (mips_skip_prologue): Likewise. * moxie-tdep.c (moxie_skip_prologue): Likewise. * mt-tdep.c (mt_frame_unwind_cache): Likewise. * rs6000-tdep.c (rs6000_skip_prologue): Likewise. * frv-tdep.c (frv_analyze_prologue): Add GDBARCH parameter, pass it to skip_prologue_using_sal. Update call sites ... (frv_skip_prologue, frv_frame_unwind_cache): ... here. * mn10300-tdep.c (struct mn10300_prologue): Add GDBARCH member. (check_for_saved): Use it instead of current_gdbarch. (mn10300_analyze_prologue): Set it. * value.c (using_struct_return): Add GDBARCH parameter. Use it instead of current_gdbarch. * value.h (using_struct_return): Add GDBARCH parameter. * eval.c (evaluate_subexp_standard): Pass architecture to using_struct_return. * infcall.c (call_function_by_hand): Likewise. * stack.c (return_command): Likewise. * sparc-tdep.c (sparc32_push_dummy_code): Likewise. * symtab.c (in_prologue): Add GDBARCH parameter. Use it instead of current_gdbarch. * symtab.h (in_prologue): Add GDBARCH parameter. * infrun.c (handle_inferior_event): Pass architecture to in_prologue. * eval.c (evaluate_subexp_standard): Use expression architecture instead of current_gdbarch. * c-lang.c (evaluate_subexp_c): Use expression architecture and language instead of current_gdbarch and current_language. * printcmd.c (do_one_display): Use expression architecture instead of current_gdbarch. * infcmd.c (print_return_value): Use architecture of stop_regcache instead of current_gdbarch. (print_vector_info, print_float_info): Remove GDBARCH argument, use frame architecture instead. (vector_info, float_info): Update calls. * objc-lang.c (objc_skip_trampoline): Use frame architecture instead of current_gdbarch. * parse.c (write_dollar_variable): Use parse architecture instead of current_gdbarch. * source.c (line_info): Use objfile architecture instead of current_gdbarch. * symtab.c (find_function_start_sal): Use gdbarch instead of current_gdbarch. (print_msymbol_info): Use objfile architecture instead of current_gdbarch. * valops.c (value_assign): Use frame architecture instead of current_gdbarch.
2009-06-18 02:43:24 +08:00
if (using_struct_return (gdbarch, NULL, value_type))
{
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
gdb_byte buf[4];
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* This is an UNIMP instruction. */
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
store_unsigned_integer (buf, 4, byte_order,
TYPE_LENGTH (value_type) & 0x1fff);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
write_memory (sp - 8, buf, 4);
return sp - 8;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
return sp - 4;
}
static CORE_ADDR
sparc32_store_arguments (struct regcache *regcache, int nargs,
struct value **args, CORE_ADDR sp,
int struct_return, CORE_ADDR struct_addr)
{
* gdbtypes.h (builtin_type_int0, builtin_type_int8, builtin_type_uint8, builtin_type_int16, builtin_type_uint16, builtin_type_int32, builtin_type_uint32, builtin_type_int64, builtin_type_uint64, builtin_type_int128, builtin_type_uint128): Remove. (struct builtin_type): New members builtin_int0, builtin_int8, builtin_uint8, builtin_int16, builtin_uint16, builtin_int32, builtin_uint32, builtin_int64, builtin_uint64, builtin_int128, and builtin_uint128. * gdbtypes.c (builtin_type_int0, builtin_type_int8, builtin_type_uint8, builtin_type_int16, builtin_type_uint16, builtin_type_int32, builtin_type_uint32, builtin_type_int64, builtin_type_uint64, builtin_type_int128, builtin_type_uint128): Remove. (_initialize_gdbtypes): Do not initialize them. (gdbtypes_post_init): Initialize fixed-size integer types. * dwarf2expr.c (unsigned_address_type, signed_address_type): Add GDBARCH argument. Return platform-specific type. (dwarf2_read_address, execute_stack_op): Update calls. * target-descriptions.c (tdesc_gdb_type): Use platform-specific types instead of global builtin_int_... variables. * mi/mi-main.c (mi_cmd_data_read_memory): Likewise. * printcmd.c (do_examine): Likewise. * jv-exp.y (parse_number): Likewise. * alpha-tdep.c (alpha_register_type, alpha_push_dummy_call, alpha_store_return_value): Likewise. * amd64-linux-tdep.c (amd64_linux_register_type): Likewise. * amd64-tdep.c (amd64_register_type): Likewise. * arm-tdep.c (arm_register_type): Likewise. * avr-tdep.c (avr_register_type): Likewise. * cris-tdep.c (cris_register_type, crisv32_register_type): Likewise. * frv-tdep.c (frv_register_type): Likewise. * h8300-tdep.c h8300_register_type): Likewise. * hppa-tdep.c (hppa64_push_dummy_call, hppa32_register_type, hppa64_register_type): Likewise. * i386-tdep.c (i386_mmx_type, i386_sse_type): Likewise. * iq2000-tdep.c (iq2000_register_type): Likewise. * lm32-tdep.c (lm32_register_type, lm32_push_dummy_call): Likewise. * m32r-tdep.c (m32r_register_type): Likewise. * m68hc11-tdep.c (m68hc11_register_type, m68hc11_pseudo_register_read, m68hc11_pseudo_register_write): Likewise. * m68k-tdep.c (m68k_register_type): Likewise. * m88k-tdep.c (m88k_register_type, m88k_store_arguments): Likewise. * mep-tdep.c (mep_register_type): Likewise. * mips-tdep.c (mips_register_type, mips_pseudo_register_type, mips_print_fp_register): Likewise. * moxie-tdep.c (moxie_register_type): Likewise. * mt-tdep.c (mt_copro_register_type, mt_register_type): Likewise. * rs6000-tdep.c (rs6000_builtin_type_vec64, rs6000_builtin_type_vec128): Likewise. * score-tdep.c (score_register_type): Likewise. * sparc-tdep.c (sparc32_register_type, sparc32_store_arguments): Likewise. * sparc64-tdep.c (sparc64_register_type, sparc64_store_arguments): Likewise. * spu-tdep.c (spu_builtin_type_vec128, spu_register_type): Likewise. * v850-tdep.c (v850_register_type): Likewise. * xstormy16-tdep.c (xstormy16_register_type): Likewise. * xtensa-tdep.c (xtensa_register_type): Likewise. * mt-tdep.c (struct gdbarch_tdep): New data structure. (mt_gdbarch_init): Alloc TDEP structures. (mt_register_type): Cache coprocessor type in TDEP instead of static global variable. * xtensa-tdep.h (struct gdbarch_tdep): Add type_entries member. * xtensa-tdep.c (type_entries): Remove. (xtensa_register_type): Cache fixed-size types in TDEP instead of in global variable.
2009-07-02 20:46:19 +08:00
struct gdbarch *gdbarch = get_regcache_arch (regcache);
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Number of words in the "parameter array". */
int num_elements = 0;
int element = 0;
int i;
for (i = 0; i < nargs; i++)
{
struct type *type = value_type (args[i]);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int len = TYPE_LENGTH (type);
if (sparc_structure_or_union_p (type)
|| (sparc_floating_p (type) && len == 16)
|| sparc_complex_floating_p (type))
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Structure, Union and Quad-Precision Arguments. */
sp -= len;
/* Use doubleword alignment for these values. That's always
correct, and wasting a few bytes shouldn't be a problem. */
sp &= ~0x7;
write_memory (sp, value_contents (args[i]), len);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
args[i] = value_from_pointer (lookup_pointer_type (type), sp);
num_elements++;
}
else if (sparc_floating_p (type))
{
/* Floating arguments. */
gdb_assert (len == 4 || len == 8);
num_elements += (len / 4);
}
1999-07-08 04:19:36 +08:00
else
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Integral and pointer arguments. */
gdb_assert (sparc_integral_or_pointer_p (type));
if (len < 4)
* gdbtypes.h (builtin_type_int0, builtin_type_int8, builtin_type_uint8, builtin_type_int16, builtin_type_uint16, builtin_type_int32, builtin_type_uint32, builtin_type_int64, builtin_type_uint64, builtin_type_int128, builtin_type_uint128): Remove. (struct builtin_type): New members builtin_int0, builtin_int8, builtin_uint8, builtin_int16, builtin_uint16, builtin_int32, builtin_uint32, builtin_int64, builtin_uint64, builtin_int128, and builtin_uint128. * gdbtypes.c (builtin_type_int0, builtin_type_int8, builtin_type_uint8, builtin_type_int16, builtin_type_uint16, builtin_type_int32, builtin_type_uint32, builtin_type_int64, builtin_type_uint64, builtin_type_int128, builtin_type_uint128): Remove. (_initialize_gdbtypes): Do not initialize them. (gdbtypes_post_init): Initialize fixed-size integer types. * dwarf2expr.c (unsigned_address_type, signed_address_type): Add GDBARCH argument. Return platform-specific type. (dwarf2_read_address, execute_stack_op): Update calls. * target-descriptions.c (tdesc_gdb_type): Use platform-specific types instead of global builtin_int_... variables. * mi/mi-main.c (mi_cmd_data_read_memory): Likewise. * printcmd.c (do_examine): Likewise. * jv-exp.y (parse_number): Likewise. * alpha-tdep.c (alpha_register_type, alpha_push_dummy_call, alpha_store_return_value): Likewise. * amd64-linux-tdep.c (amd64_linux_register_type): Likewise. * amd64-tdep.c (amd64_register_type): Likewise. * arm-tdep.c (arm_register_type): Likewise. * avr-tdep.c (avr_register_type): Likewise. * cris-tdep.c (cris_register_type, crisv32_register_type): Likewise. * frv-tdep.c (frv_register_type): Likewise. * h8300-tdep.c h8300_register_type): Likewise. * hppa-tdep.c (hppa64_push_dummy_call, hppa32_register_type, hppa64_register_type): Likewise. * i386-tdep.c (i386_mmx_type, i386_sse_type): Likewise. * iq2000-tdep.c (iq2000_register_type): Likewise. * lm32-tdep.c (lm32_register_type, lm32_push_dummy_call): Likewise. * m32r-tdep.c (m32r_register_type): Likewise. * m68hc11-tdep.c (m68hc11_register_type, m68hc11_pseudo_register_read, m68hc11_pseudo_register_write): Likewise. * m68k-tdep.c (m68k_register_type): Likewise. * m88k-tdep.c (m88k_register_type, m88k_store_arguments): Likewise. * mep-tdep.c (mep_register_type): Likewise. * mips-tdep.c (mips_register_type, mips_pseudo_register_type, mips_print_fp_register): Likewise. * moxie-tdep.c (moxie_register_type): Likewise. * mt-tdep.c (mt_copro_register_type, mt_register_type): Likewise. * rs6000-tdep.c (rs6000_builtin_type_vec64, rs6000_builtin_type_vec128): Likewise. * score-tdep.c (score_register_type): Likewise. * sparc-tdep.c (sparc32_register_type, sparc32_store_arguments): Likewise. * sparc64-tdep.c (sparc64_register_type, sparc64_store_arguments): Likewise. * spu-tdep.c (spu_builtin_type_vec128, spu_register_type): Likewise. * v850-tdep.c (v850_register_type): Likewise. * xstormy16-tdep.c (xstormy16_register_type): Likewise. * xtensa-tdep.c (xtensa_register_type): Likewise. * mt-tdep.c (struct gdbarch_tdep): New data structure. (mt_gdbarch_init): Alloc TDEP structures. (mt_register_type): Cache coprocessor type in TDEP instead of static global variable. * xtensa-tdep.h (struct gdbarch_tdep): Add type_entries member. * xtensa-tdep.c (type_entries): Remove. (xtensa_register_type): Cache fixed-size types in TDEP instead of in global variable.
2009-07-02 20:46:19 +08:00
args[i] = value_cast (builtin_type (gdbarch)->builtin_int32,
args[i]);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
num_elements += ((len + 3) / 4);
1999-07-08 04:19:36 +08:00
}
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Always allocate at least six words. */
sp -= max (6, num_elements) * 4;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* The psABI says that "Software convention requires space for the
struct/union return value pointer, even if the word is unused." */
sp -= 4;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* The psABI says that "Although software convention and the
operating system require every stack frame to be doubleword
aligned." */
sp &= ~0x7;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
for (i = 0; i < nargs; i++)
{
const bfd_byte *valbuf = value_contents (args[i]);
struct type *type = value_type (args[i]);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int len = TYPE_LENGTH (type);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
gdb_assert (len == 4 || len == 8);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (element < 6)
{
int regnum = SPARC_O0_REGNUM + element;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
regcache_cooked_write (regcache, regnum, valbuf);
if (len > 4 && element < 5)
regcache_cooked_write (regcache, regnum + 1, valbuf + 4);
}
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Always store the argument in memory. */
write_memory (sp + 4 + element * 4, valbuf, len);
element += len / 4;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
gdb_assert (element == num_elements);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (struct_return)
{
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
gdb_byte buf[4];
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
store_unsigned_integer (buf, 4, byte_order, struct_addr);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
write_memory (sp, buf, 4);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
return sp;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static CORE_ADDR
2004-06-06 Randolph Chung <tausq@debian.org> * gdbarch.sh (PUSH_DUMMY_CALL): Change CORE_ADDR func_addr argument to struct value *function. * gdbarch.c: Regenerate. * gdbarch.h: Likewise. * infcall.c (call_function_by_hand): Pass entire function value to push_dummy_call. * Makefile.in (alpha-tdep.o, frv-tdep.o, ia64-tdep.o, mips-tdep.o) (ppc-sysv-tdep.o, rs6000-tdep.o): Update dependencies. * alpha-tdep.c (alpha_push_dummy_call): Update call signature. * amd64-tdep.c (amd64_push_dummy_call): Likewise. * arm-tdep.c (arm_push_dummy_call): Likewise. * avr-tdep.c (avr_push_dummy_call): Likewise. * cris-tdep.c (cris_push_dummy_call): Likewise. * d10v-tdep.c (d10v_push_dummy_call): Likewise. * frv-tdep.c (frv_push_dummy_call): Likewise. * h8300-tdep.c (h8300_push_dummy_call): Likewise. * hppa-tdep.c (hppa32_push_dummy_call) (hppa64_push_dummy_call): Likewise. * i386-tdep.c (i386_push_dummy_call): Likewise. * ia64-tdep.c (ia64_push_dummy_call): Likewise. * m32r-tdep.c (m32r_push_dummy_call): Likewise. * m68hc11-tdep.c (m68hc11_push_dummy_call): Likewise. * m68k-tdep.c (m68k_push_dummy_call): Likewise. * m88k-tdep.c (m88k_push_dummy_call): Likewise. * mips-tdep.c (mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call) (mips_o32_push_dummy_call, mips_o64_push_dummy_call): Likewise. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call) (ppc64_sysv_abi_push_dummy_call): Likewise. * ppc-tdep.h (ppc_sysv_abi_push_dummy_call) (ppc64_sysv_abi_push_dummy_call): Likewise. * rs6000-tdep.c (rs6000_push_dummy_call): Likewise. * s390-tdep.c (s390_push_dummy_call): Likewise. * sh-tdep.c (sh_push_dummy_call_fpu) (sh_push_dummy_call_nofpu): Likewise. * sparc-tdep.c (sparc32_push_dummy_call): Likewise. * sparc64-tdep.c (sparc64_push_dummy_call): Likewise. * vax-tdep.c (vax_push_dummy_call): Likewise.
2004-06-07 10:02:55 +08:00
sparc32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
struct regcache *regcache, CORE_ADDR bp_addr,
int nargs, struct value **args, CORE_ADDR sp,
int struct_return, CORE_ADDR struct_addr)
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
CORE_ADDR call_pc = (struct_return ? (bp_addr - 12) : (bp_addr - 8));
/* Set return address. */
regcache_cooked_write_unsigned (regcache, SPARC_O7_REGNUM, call_pc);
/* Set up function arguments. */
sp = sparc32_store_arguments (regcache, nargs, args, sp,
struct_return, struct_addr);
/* Allocate the 16-word window save area. */
sp -= 16 * 4;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Stack should be doubleword aligned at this point. */
gdb_assert (sp % 8 == 0);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Finally, update the stack pointer. */
regcache_cooked_write_unsigned (regcache, SPARC_SP_REGNUM, sp);
return sp;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Use the program counter to determine the contents and size of a
breakpoint instruction. Return a pointer to a string of bytes that
encode a breakpoint instruction, store the length of the string in
*LEN and optionally adjust *PC to point to the correct memory
location for inserting the breakpoint. */
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
static const gdb_byte *
2007-11-07 14:33:01 +08:00
sparc_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pc, int *len)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
static const gdb_byte break_insn[] = { 0x91, 0xd0, 0x20, 0x01 };
1999-07-08 04:19:36 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
*len = sizeof (break_insn);
return break_insn;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Allocate and initialize a frame cache. */
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static struct sparc_frame_cache *
sparc_alloc_frame_cache (void)
{
struct sparc_frame_cache *cache;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
cache = FRAME_OBSTACK_ZALLOC (struct sparc_frame_cache);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Base address. */
cache->base = 0;
cache->pc = 0;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Frameless until proven otherwise. */
cache->frameless_p = 1;
cache->frame_offset = 0;
cache->saved_regs_mask = 0;
cache->copied_regs_mask = 0;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
cache->struct_return_p = 0;
return cache;
}
/* GCC generates several well-known sequences of instructions at the begining
of each function prologue when compiling with -fstack-check. If one of
such sequences starts at START_PC, then return the address of the
instruction immediately past this sequence. Otherwise, return START_PC. */
static CORE_ADDR
sparc_skip_stack_check (const CORE_ADDR start_pc)
{
CORE_ADDR pc = start_pc;
unsigned long insn;
int offset_stack_checking_sequence = 0;
int probing_loop = 0;
/* With GCC, all stack checking sequences begin with the same two
instructions, plus an optional one in the case of a probing loop:
sethi <some immediate>, %g1
sub %sp, %g1, %g1
or:
sethi <some immediate>, %g1
sethi <some immediate>, %g4
sub %sp, %g1, %g1
or:
sethi <some immediate>, %g1
sub %sp, %g1, %g1
sethi <some immediate>, %g4
If the optional instruction is found (setting g4), assume that a
probing loop will follow. */
/* sethi <some immediate>, %g1 */
insn = sparc_fetch_instruction (pc);
pc = pc + 4;
if (!(X_OP (insn) == 0 && X_OP2 (insn) == 0x4 && X_RD (insn) == 1))
return start_pc;
/* optional: sethi <some immediate>, %g4 */
insn = sparc_fetch_instruction (pc);
pc = pc + 4;
if (X_OP (insn) == 0 && X_OP2 (insn) == 0x4 && X_RD (insn) == 4)
{
probing_loop = 1;
insn = sparc_fetch_instruction (pc);
pc = pc + 4;
}
/* sub %sp, %g1, %g1 */
if (!(X_OP (insn) == 2 && X_OP3 (insn) == 0x4 && !X_I(insn)
&& X_RD (insn) == 1 && X_RS1 (insn) == 14 && X_RS2 (insn) == 1))
return start_pc;
insn = sparc_fetch_instruction (pc);
pc = pc + 4;
/* optional: sethi <some immediate>, %g4 */
if (X_OP (insn) == 0 && X_OP2 (insn) == 0x4 && X_RD (insn) == 4)
{
probing_loop = 1;
insn = sparc_fetch_instruction (pc);
pc = pc + 4;
}
/* First possible sequence:
[first two instructions above]
clr [%g1 - some immediate] */
/* clr [%g1 - some immediate] */
if (X_OP (insn) == 3 && X_OP3(insn) == 0x4 && X_I(insn)
&& X_RS1 (insn) == 1 && X_RD (insn) == 0)
{
/* Valid stack-check sequence, return the new PC. */
return pc;
}
/* Second possible sequence: A small number of probes.
[first two instructions above]
clr [%g1]
add %g1, -<some immediate>, %g1
clr [%g1]
[repeat the two instructions above any (small) number of times]
clr [%g1 - some immediate] */
/* clr [%g1] */
else if (X_OP (insn) == 3 && X_OP3(insn) == 0x4 && !X_I(insn)
&& X_RS1 (insn) == 1 && X_RD (insn) == 0)
{
while (1)
{
/* add %g1, -<some immediate>, %g1 */
insn = sparc_fetch_instruction (pc);
pc = pc + 4;
if (!(X_OP (insn) == 2 && X_OP3(insn) == 0 && X_I(insn)
&& X_RS1 (insn) == 1 && X_RD (insn) == 1))
break;
/* clr [%g1] */
insn = sparc_fetch_instruction (pc);
pc = pc + 4;
if (!(X_OP (insn) == 3 && X_OP3(insn) == 0x4 && !X_I(insn)
&& X_RD (insn) == 0 && X_RS1 (insn) == 1))
return start_pc;
}
/* clr [%g1 - some immediate] */
if (!(X_OP (insn) == 3 && X_OP3(insn) == 0x4 && X_I(insn)
&& X_RS1 (insn) == 1 && X_RD (insn) == 0))
return start_pc;
/* We found a valid stack-check sequence, return the new PC. */
return pc;
}
/* Third sequence: A probing loop.
[first three instructions above]
sub %g1, %g4, %g4
cmp %g1, %g4
be <disp>
add %g1, -<some immediate>, %g1
ba <disp>
clr [%g1]
And an optional last probe for the remainder:
clr [%g4 - some immediate] */
if (probing_loop)
{
/* sub %g1, %g4, %g4 */
if (!(X_OP (insn) == 2 && X_OP3 (insn) == 0x4 && !X_I(insn)
&& X_RD (insn) == 4 && X_RS1 (insn) == 1 && X_RS2 (insn) == 4))
return start_pc;
/* cmp %g1, %g4 */
insn = sparc_fetch_instruction (pc);
pc = pc + 4;
if (!(X_OP (insn) == 2 && X_OP3 (insn) == 0x14 && !X_I(insn)
&& X_RD (insn) == 0 && X_RS1 (insn) == 1 && X_RS2 (insn) == 4))
return start_pc;
/* be <disp> */
insn = sparc_fetch_instruction (pc);
pc = pc + 4;
if (!(X_OP (insn) == 0 && X_COND (insn) == 0x1))
return start_pc;
/* add %g1, -<some immediate>, %g1 */
insn = sparc_fetch_instruction (pc);
pc = pc + 4;
if (!(X_OP (insn) == 2 && X_OP3(insn) == 0 && X_I(insn)
&& X_RS1 (insn) == 1 && X_RD (insn) == 1))
return start_pc;
/* ba <disp> */
insn = sparc_fetch_instruction (pc);
pc = pc + 4;
if (!(X_OP (insn) == 0 && X_COND (insn) == 0x8))
return start_pc;
/* clr [%g1] (st %g0, [%g1] or st %g0, [%g1+0]) */
insn = sparc_fetch_instruction (pc);
pc = pc + 4;
if (!(X_OP (insn) == 3 && X_OP3(insn) == 0x4
&& X_RD (insn) == 0 && X_RS1 (insn) == 1
&& (!X_I(insn) || X_SIMM13 (insn) == 0)))
return start_pc;
/* We found a valid stack-check sequence, return the new PC. */
/* optional: clr [%g4 - some immediate] */
insn = sparc_fetch_instruction (pc);
pc = pc + 4;
if (!(X_OP (insn) == 3 && X_OP3(insn) == 0x4 && X_I(insn)
&& X_RS1 (insn) == 4 && X_RD (insn) == 0))
return pc - 4;
else
return pc;
}
/* No stack check code in our prologue, return the start_pc. */
return start_pc;
}
/* Record the effect of a SAVE instruction on CACHE. */
void
sparc_record_save_insn (struct sparc_frame_cache *cache)
{
/* The frame is set up. */
cache->frameless_p = 0;
/* The frame pointer contains the CFA. */
cache->frame_offset = 0;
/* The `local' and `in' registers are all saved. */
cache->saved_regs_mask = 0xffff;
/* The `out' registers are all renamed. */
cache->copied_regs_mask = 0xff;
}
/* Do a full analysis of the prologue at PC and update CACHE accordingly.
Bail out early if CURRENT_PC is reached. Return the address where
the analysis stopped.
We handle both the traditional register window model and the single
register window (aka flat) model. */
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
CORE_ADDR
* alpha-tdep.c (alpha_heuristic_proc_start) (alpha_sigtramp_register_address): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. (alpha_heuristic_frame_unwind_cache): Use get_frame_arch to get at the current architecture by frame_info. Update alpha_heuristic_proc_start call. (alpha_sigtramp_frame_this_id, alpha_sigtramp_frame_prev_register): Use get_frame_arch to get at the current architecture by frame_info. Update alpha_sigtramp_register_address call. * arm-tdep.c (thumb_scan_prologue): Add gdbarch as parameter and replace current_gdbarch by gdbarch. Update caller. (convert_to_extended, convert_from_extended): Add endianess parameter for comparison. Update caller. (arm_extract_return_value, arm_store_return_value): Use get_regcache_arch to get at the current architecture. * cris-tdep.c (cris_register_size): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. (cris_gdb_func, move_to_preg_op, none_reg_mode_move_from_preg_op): Add gdbarch as parameter. Update caller. Replace current_gdbarch by gdbarch. * h8300-tdep.c (E_PSEUDO_CCR_REGNUM, E_PSEUDO_EXR_REGNUM, BINWORD): Add gdbarch as parameter. Update caller. (h8300_init_frame_cache): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. * hppa-tdep.c (skip_prologue_hard_way): Add gdbarch as parameter and update caller. Replace current_gdbarch by gdbarch. * m32c-tdep.c (m32c_skip_trampoline_code): Use get_frame_arch to get at the current architecture. Replace current_gdbarch by gdbarch. * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise. (STACK_CORRECTION, USE_PAGE_REGISTER): Replace M6811_TDEP by its expression. Add gdbarch as parameter and replace current_gdbarch with it. Update caller. (M6811_TDEP): Remove. (m68hc11_frame_prev_register): Use get_frame_arch to get at the current architecture. (m68hc11_scan_prologue): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. * m68k-tdep.c (m68k_analyze_prologue): Add gdbarch as parameter and update caller. (m68k_analyze_register_saves): Likewise. Also replace current_gdbarch by gdbarch. * rs6000-tdep.c (skip_prologue): Add gdbarch as parameter and update caller. Relace current_gdbarch by gdbarch. (altivec_register_p, spe_register_p): Likewise. * ppc-tdep.h (altivec_register_p, spe_register_p): Add gdbarch as parameter. * ppc-linux-nat.c (fetch_register, store_register): Update caller of altivec_register_p and spe_register_p. * score-tdep.c (score_fetch_inst): Add gdbarch as parameter. Update caller. Replace current_gdbarch by gdbarch. (score_analyze_prologue): use get_frame_arch to get at the current architecture. * sparc-tdep.h (sparc_analyze_prologue): Add gdbarch as parameter. * sparc-tdep.c (sparc_analyze_prologue): Likewise. Replace current_gdbarch by gdbarch. Update caller. (sparc_frame_cache): Use get_frame_arch to get at the current architecture. * sparce64-tdep.c (sparc64_skip_prologue): Update call of sparc_analyze_prologue. * mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Add gdbarch as parameter.
2008-01-11 22:43:15 +08:00
sparc_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR pc,
CORE_ADDR current_pc, struct sparc_frame_cache *cache)
{
* alpha-tdep.c (alpha_heuristic_proc_start) (alpha_sigtramp_register_address): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. (alpha_heuristic_frame_unwind_cache): Use get_frame_arch to get at the current architecture by frame_info. Update alpha_heuristic_proc_start call. (alpha_sigtramp_frame_this_id, alpha_sigtramp_frame_prev_register): Use get_frame_arch to get at the current architecture by frame_info. Update alpha_sigtramp_register_address call. * arm-tdep.c (thumb_scan_prologue): Add gdbarch as parameter and replace current_gdbarch by gdbarch. Update caller. (convert_to_extended, convert_from_extended): Add endianess parameter for comparison. Update caller. (arm_extract_return_value, arm_store_return_value): Use get_regcache_arch to get at the current architecture. * cris-tdep.c (cris_register_size): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. (cris_gdb_func, move_to_preg_op, none_reg_mode_move_from_preg_op): Add gdbarch as parameter. Update caller. Replace current_gdbarch by gdbarch. * h8300-tdep.c (E_PSEUDO_CCR_REGNUM, E_PSEUDO_EXR_REGNUM, BINWORD): Add gdbarch as parameter. Update caller. (h8300_init_frame_cache): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. * hppa-tdep.c (skip_prologue_hard_way): Add gdbarch as parameter and update caller. Replace current_gdbarch by gdbarch. * m32c-tdep.c (m32c_skip_trampoline_code): Use get_frame_arch to get at the current architecture. Replace current_gdbarch by gdbarch. * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise. (STACK_CORRECTION, USE_PAGE_REGISTER): Replace M6811_TDEP by its expression. Add gdbarch as parameter and replace current_gdbarch with it. Update caller. (M6811_TDEP): Remove. (m68hc11_frame_prev_register): Use get_frame_arch to get at the current architecture. (m68hc11_scan_prologue): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. * m68k-tdep.c (m68k_analyze_prologue): Add gdbarch as parameter and update caller. (m68k_analyze_register_saves): Likewise. Also replace current_gdbarch by gdbarch. * rs6000-tdep.c (skip_prologue): Add gdbarch as parameter and update caller. Relace current_gdbarch by gdbarch. (altivec_register_p, spe_register_p): Likewise. * ppc-tdep.h (altivec_register_p, spe_register_p): Add gdbarch as parameter. * ppc-linux-nat.c (fetch_register, store_register): Update caller of altivec_register_p and spe_register_p. * score-tdep.c (score_fetch_inst): Add gdbarch as parameter. Update caller. Replace current_gdbarch by gdbarch. (score_analyze_prologue): use get_frame_arch to get at the current architecture. * sparc-tdep.h (sparc_analyze_prologue): Add gdbarch as parameter. * sparc-tdep.c (sparc_analyze_prologue): Likewise. Replace current_gdbarch by gdbarch. Update caller. (sparc_frame_cache): Use get_frame_arch to get at the current architecture. * sparce64-tdep.c (sparc64_skip_prologue): Update call of sparc_analyze_prologue. * mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Add gdbarch as parameter.
2008-01-11 22:43:15 +08:00
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
unsigned long insn;
int offset = 0;
int dest = -1;
pc = sparc_skip_stack_check (pc);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (current_pc <= pc)
return current_pc;
/* We have to handle to "Procedure Linkage Table" (PLT) special. On
SPARC the linker usually defines a symbol (typically
_PROCEDURE_LINKAGE_TABLE_) at the start of the .plt section.
This symbol makes us end up here with PC pointing at the start of
the PLT and CURRENT_PC probably pointing at a PLT entry. If we
would do our normal prologue analysis, we would probably conclude
that we've got a frame when in reality we don't, since the
dynamic linker patches up the first PLT with some code that
starts with a SAVE instruction. Patch up PC such that it points
at the start of our PLT entry. */
* objfiles.h (pc_in_section): New prototype. (in_plt_section): Remove name argument, replace prototype with static inline function. * mips-tdep.h: Include "objfiles.h". (in_mips_stubs_section): New function. * hppa-tdep.h (gdbarch_tdep): Remove name argument of in_solib_call_trampoline member. (hppa_in_solib_call_trampoline): Remove name argument. * objfiles.c (pc_in_section): New function. (in_plt_section): Remove function. * mips-linux-tdep.c: Include "objfiles.h". (mips_linux_in_dynsym_stub): Call in_mips_stubs_section. Remove name argument. Return 1 rather than the low 16-bit halfword of any instruction examined. (mips_linux_in_dynsym_resolve_code): Update mips_linux_in_dynsym_stub call accordingly. * mips-tdep.c (mips_stub_frame_sniffer): Use in_mips_stubs_section rather than an equivalent hand-coded sequence. * hppa-hpux-tdep.c (in_opd_section): Remove function. (hppa32_hpux_in_solib_call_trampoline): Remove name argument. (hppa64_hpux_in_solib_call_trampoline): Likewise. (hppa64_hpux_find_global_pointer): Use pc_in_section rather than in_opd_section. * hppa-tdep.c (hppa_stub_unwind_sniffer): Remove name argument on call to tdep->in_solib_call_trampoline. (hppa_in_solib_call_trampoline): Remove name argument, update according to in_plt_section change. (hppa_skip_trampoline_code): Update according to in_plt_section change. * aarch64-tdep.c (aarch64_stub_unwind_sniffer): Likewise. * arm-symbian-tdep.c (arm_symbian_skip_trampoline_code): Likewise. * arm-tdep.c (arm_stub_unwind_sniffer): Likewise. * hppa-linux-tdep.c (hppa_linux_find_global_pointer): Likewise. * hppabsd-tdep.c (hppabsd_find_global_pointer): Likewise. * nios2-tdep.c (nios2_stub_frame_sniffer): Likewise. * nto-tdep.c (nto_relocate_section_addresses): Likewise. * s390-tdep.c (s390_stub_frame_sniffer): Likewise. * sh-tdep.c (sh_stub_unwind_sniffer): Likewise. * solib-dsbt.c (dsbt_in_dynsym_resolve_code): Likewise. * solib-frv.c (frv_in_dynsym_resolve_code): Likewise. * solib-svr4.c (svr4_in_dynsym_resolve_code): Likewise. * solib-target.c (solib_target_in_dynsym_resolve_code): Likewise. * sparc-tdep.c (sparc_analyze_prologue): Likewise. * tic6x-tdep.c (tic6x_stub_unwind_sniffer): Likewise.
2013-06-25 06:18:32 +08:00
if (tdep->plt_entry_size > 0 && in_plt_section (current_pc))
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
pc = current_pc - ((current_pc - pc) % tdep->plt_entry_size);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
insn = sparc_fetch_instruction (pc);
/* Recognize store insns and record their sources. */
while (X_OP (insn) == 3
&& (X_OP3 (insn) == 0x4 /* stw */
|| X_OP3 (insn) == 0x7 /* std */
|| X_OP3 (insn) == 0xe) /* stx */
&& X_RS1 (insn) == SPARC_SP_REGNUM)
{
int regnum = X_RD (insn);
/* Recognize stores into the corresponding stack slots. */
if (regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM
&& ((X_I (insn)
&& X_SIMM13 (insn) == (X_OP3 (insn) == 0xe
? (regnum - SPARC_L0_REGNUM) * 8 + BIAS
: (regnum - SPARC_L0_REGNUM) * 4))
|| (!X_I (insn) && regnum == SPARC_L0_REGNUM)))
{
cache->saved_regs_mask |= (1 << (regnum - SPARC_L0_REGNUM));
if (X_OP3 (insn) == 0x7)
cache->saved_regs_mask |= (1 << (regnum + 1 - SPARC_L0_REGNUM));
}
offset += 4;
insn = sparc_fetch_instruction (pc + offset);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Recognize a SETHI insn and record its destination. */
if (X_OP (insn) == 0 && X_OP2 (insn) == 0x04)
{
dest = X_RD (insn);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
offset += 4;
insn = sparc_fetch_instruction (pc + offset);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Allow for an arithmetic operation on DEST or %g1. */
if (X_OP (insn) == 2 && X_I (insn)
&& (X_RD (insn) == 1 || X_RD (insn) == dest))
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
offset += 4;
insn = sparc_fetch_instruction (pc + offset);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Check for the SAVE instruction that sets up the frame. */
if (X_OP (insn) == 2 && X_OP3 (insn) == 0x3c)
{
sparc_record_save_insn (cache);
offset += 4;
return pc + offset;
}
/* Check for an arithmetic operation on %sp. */
if (X_OP (insn) == 2
&& (X_OP3 (insn) == 0 || X_OP3 (insn) == 0x4)
&& X_RS1 (insn) == SPARC_SP_REGNUM
&& X_RD (insn) == SPARC_SP_REGNUM)
{
if (X_I (insn))
{
cache->frame_offset = X_SIMM13 (insn);
if (X_OP3 (insn) == 0)
cache->frame_offset = -cache->frame_offset;
}
offset += 4;
insn = sparc_fetch_instruction (pc + offset);
/* Check for an arithmetic operation that sets up the frame. */
if (X_OP (insn) == 2
&& (X_OP3 (insn) == 0 || X_OP3 (insn) == 0x4)
&& X_RS1 (insn) == SPARC_SP_REGNUM
&& X_RD (insn) == SPARC_FP_REGNUM)
{
cache->frameless_p = 0;
cache->frame_offset = 0;
/* We could check that the amount subtracted to %sp above is the
same as the one added here, but this seems superfluous. */
cache->copied_regs_mask |= 0x40;
offset += 4;
insn = sparc_fetch_instruction (pc + offset);
}
/* Check for a move (or) operation that copies the return register. */
if (X_OP (insn) == 2
&& X_OP3 (insn) == 0x2
&& !X_I (insn)
&& X_RS1 (insn) == SPARC_G0_REGNUM
&& X_RS2 (insn) == SPARC_O7_REGNUM
&& X_RD (insn) == SPARC_I7_REGNUM)
{
cache->copied_regs_mask |= 0x80;
offset += 4;
}
return pc + offset;
}
return pc;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static CORE_ADDR
sparc_unwind_pc (struct gdbarch *gdbarch, struct frame_info *this_frame)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
return frame_unwind_register_unsigned (this_frame, tdep->pc_regnum);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
}
/* Return PC of first real instruction of the function starting at
START_PC. */
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static CORE_ADDR
* gdbarch.sh (skip_prologue): Add gdbarch as parameter. * gdbarch.{c,h}: Regenerate. * alpha-tdep.c (alpha_skip_prologue): Add gdbarch as parameter. * amd64-tdep.c (amd64_skip_prologue): Likewise. * avr-tdep.c (avr_skip_prologue): Likewise. * cris-tdep.c (cris_skip_prologue): Likewise. * frv-tdep.c (frv_skip_prologue): Likewise. * h8300-tdep.c (h8300_skip_prologue): Likewise. * hppa-tdep.c (hppa_skip_prologue): Likewise. * i386-tdep.c (i386_skip_prologue): Likewise. * ia64-tdep.c (ia64_skip_prologue): Likewise. * iq2000-tdep.c (iq2000_skip_prologue): Likewise. * m32r-tdep.c (m32r_skip_prologue): Likewise. * m68hc11-tdep.c (m68hc11_skip_prologue): Likewise. * m68k-tdep.c (m68k_skip_prologue): Likewise. * m88k-tdep.c (m88k_skip_prologue): Likewise. * mep-tdep.c (mep_skip_prologue): Likewise. * mips-tdep.c (mips_skip_prologue): Likewise. * mn10300-tdep.c (mn10300_skip_prologue): Likewise. * mt-tdep.c (mt_skip_prologue): Likewise. * rs6000-tdep.c (rs6000_skip_prologue): Likewise. * score-tdep.c (score_skip_prologue): Likewise. * sh64-tdep.c (sh64_skip_prologue): Likewise. * sh-tdep.c (sh_skip_prologue): Likewise. * sparc64-tdep.c (sparc64_skip_prologue): Likewise. * sparc-tdep.c (sparc32_skip_prologue): Likewise. * spu-tdep.c (spu_skip_prologue): Likewise. * v850-tdep.c (v850_skip_prologue): Likewise. * vax-tdep.c (vax_skip_prologue): Likewise. * xstormy16-tdep.c (xstormy16_skip_prologue): Likewise. * xtensa-tdep.c (xtensa_skip_prologue): Likewise. * arm-tdep.c (arm_skip_prologue): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. * m32c-tdep.c (m32c_skip_prologue): Likewise. * s390-tdep.c (s390_skip_prologue): Likewise.
2008-01-11 21:20:02 +08:00
sparc32_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
{
struct symtab_and_line sal;
CORE_ADDR func_start, func_end;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
struct sparc_frame_cache cache;
/* This is the preferred method, find the end of the prologue by
using the debugging information. */
if (find_pc_partial_function (start_pc, NULL, &func_start, &func_end))
{
sal = find_pc_line (func_start, 0);
if (sal.end < func_end
&& start_pc <= sal.end)
return sal.end;
}
* alpha-tdep.c (alpha_heuristic_proc_start) (alpha_sigtramp_register_address): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. (alpha_heuristic_frame_unwind_cache): Use get_frame_arch to get at the current architecture by frame_info. Update alpha_heuristic_proc_start call. (alpha_sigtramp_frame_this_id, alpha_sigtramp_frame_prev_register): Use get_frame_arch to get at the current architecture by frame_info. Update alpha_sigtramp_register_address call. * arm-tdep.c (thumb_scan_prologue): Add gdbarch as parameter and replace current_gdbarch by gdbarch. Update caller. (convert_to_extended, convert_from_extended): Add endianess parameter for comparison. Update caller. (arm_extract_return_value, arm_store_return_value): Use get_regcache_arch to get at the current architecture. * cris-tdep.c (cris_register_size): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. (cris_gdb_func, move_to_preg_op, none_reg_mode_move_from_preg_op): Add gdbarch as parameter. Update caller. Replace current_gdbarch by gdbarch. * h8300-tdep.c (E_PSEUDO_CCR_REGNUM, E_PSEUDO_EXR_REGNUM, BINWORD): Add gdbarch as parameter. Update caller. (h8300_init_frame_cache): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. * hppa-tdep.c (skip_prologue_hard_way): Add gdbarch as parameter and update caller. Replace current_gdbarch by gdbarch. * m32c-tdep.c (m32c_skip_trampoline_code): Use get_frame_arch to get at the current architecture. Replace current_gdbarch by gdbarch. * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise. (STACK_CORRECTION, USE_PAGE_REGISTER): Replace M6811_TDEP by its expression. Add gdbarch as parameter and replace current_gdbarch with it. Update caller. (M6811_TDEP): Remove. (m68hc11_frame_prev_register): Use get_frame_arch to get at the current architecture. (m68hc11_scan_prologue): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. * m68k-tdep.c (m68k_analyze_prologue): Add gdbarch as parameter and update caller. (m68k_analyze_register_saves): Likewise. Also replace current_gdbarch by gdbarch. * rs6000-tdep.c (skip_prologue): Add gdbarch as parameter and update caller. Relace current_gdbarch by gdbarch. (altivec_register_p, spe_register_p): Likewise. * ppc-tdep.h (altivec_register_p, spe_register_p): Add gdbarch as parameter. * ppc-linux-nat.c (fetch_register, store_register): Update caller of altivec_register_p and spe_register_p. * score-tdep.c (score_fetch_inst): Add gdbarch as parameter. Update caller. Replace current_gdbarch by gdbarch. (score_analyze_prologue): use get_frame_arch to get at the current architecture. * sparc-tdep.h (sparc_analyze_prologue): Add gdbarch as parameter. * sparc-tdep.c (sparc_analyze_prologue): Likewise. Replace current_gdbarch by gdbarch. Update caller. (sparc_frame_cache): Use get_frame_arch to get at the current architecture. * sparce64-tdep.c (sparc64_skip_prologue): Update call of sparc_analyze_prologue. * mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Add gdbarch as parameter.
2008-01-11 22:43:15 +08:00
start_pc = sparc_analyze_prologue (gdbarch, start_pc, 0xffffffffUL, &cache);
/* The psABI says that "Although the first 6 words of arguments
reside in registers, the standard stack frame reserves space for
them.". It also suggests that a function may use that space to
"write incoming arguments 0 to 5" into that space, and that's
indeed what GCC seems to be doing. In that case GCC will
generate debug information that points to the stack slots instead
of the registers, so we should consider the instructions that
write out these incoming arguments onto the stack. */
while (1)
{
unsigned long insn = sparc_fetch_instruction (start_pc);
/* Recognize instructions that store incoming arguments into the
corresponding stack slots. */
if (X_OP (insn) == 3 && (X_OP3 (insn) & 0x3c) == 0x04
&& X_I (insn) && X_RS1 (insn) == SPARC_FP_REGNUM)
{
int regnum = X_RD (insn);
/* Case of arguments still in %o[0..5]. */
if (regnum >= SPARC_O0_REGNUM && regnum <= SPARC_O5_REGNUM
&& !(cache.copied_regs_mask & (1 << (regnum - SPARC_O0_REGNUM)))
&& X_SIMM13 (insn) == 68 + (regnum - SPARC_O0_REGNUM) * 4)
{
start_pc += 4;
continue;
}
/* Case of arguments copied into %i[0..5]. */
if (regnum >= SPARC_I0_REGNUM && regnum <= SPARC_I5_REGNUM
&& (cache.copied_regs_mask & (1 << (regnum - SPARC_I0_REGNUM)))
&& X_SIMM13 (insn) == 68 + (regnum - SPARC_I0_REGNUM) * 4)
{
start_pc += 4;
continue;
}
}
break;
}
return start_pc;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Normal frames. */
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
struct sparc_frame_cache *
sparc_frame_cache (struct frame_info *this_frame, void **this_cache)
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
struct sparc_frame_cache *cache;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (*this_cache)
return *this_cache;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
cache = sparc_alloc_frame_cache ();
*this_cache = cache;
cache->pc = get_frame_func (this_frame);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (cache->pc != 0)
sparc_analyze_prologue (get_frame_arch (this_frame), cache->pc,
get_frame_pc (this_frame), cache);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (cache->frameless_p)
{
/* This function is frameless, so %fp (%i6) holds the frame
pointer for our calling frame. Use %sp (%o6) as this frame's
base address. */
cache->base =
get_frame_register_unsigned (this_frame, SPARC_SP_REGNUM);
}
else
{
/* For normal frames, %fp (%i6) holds the frame pointer, the
base address for the current stack frame. */
cache->base =
get_frame_register_unsigned (this_frame, SPARC_FP_REGNUM);
}
cache->base += cache->frame_offset;
if (cache->base & 1)
cache->base += BIAS;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
return cache;
}
static int
sparc32_struct_return_from_sym (struct symbol *sym)
{
struct type *type = check_typedef (SYMBOL_TYPE (sym));
enum type_code code = TYPE_CODE (type);
if (code == TYPE_CODE_FUNC || code == TYPE_CODE_METHOD)
{
type = check_typedef (TYPE_TARGET_TYPE (type));
if (sparc_structure_or_union_p (type)
|| (sparc_floating_p (type) && TYPE_LENGTH (type) == 16))
return 1;
}
return 0;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
struct sparc_frame_cache *
sparc32_frame_cache (struct frame_info *this_frame, void **this_cache)
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
struct sparc_frame_cache *cache;
struct symbol *sym;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (*this_cache)
return *this_cache;
cache = sparc_frame_cache (this_frame, this_cache);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
sym = find_pc_function (cache->pc);
if (sym)
{
cache->struct_return_p = sparc32_struct_return_from_sym (sym);
}
else
{
/* There is no debugging information for this function to
help us determine whether this function returns a struct
or not. So we rely on another heuristic which is to check
the instruction at the return address and see if this is
an "unimp" instruction. If it is, then it is a struct-return
function. */
CORE_ADDR pc;
int regnum =
(cache->copied_regs_mask & 0x80) ? SPARC_I7_REGNUM : SPARC_O7_REGNUM;
pc = get_frame_register_unsigned (this_frame, regnum) + 8;
if (sparc_is_unimp_insn (pc))
cache->struct_return_p = 1;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
return cache;
}
static void
sparc32_frame_this_id (struct frame_info *this_frame, void **this_cache,
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
struct frame_id *this_id)
{
struct sparc_frame_cache *cache =
sparc32_frame_cache (this_frame, this_cache);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* This marks the outermost frame. */
if (cache->base == 0)
return;
(*this_id) = frame_id_build (cache->base, cache->pc);
}
static struct value *
sparc32_frame_prev_register (struct frame_info *this_frame,
void **this_cache, int regnum)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
struct gdbarch *gdbarch = get_frame_arch (this_frame);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
struct sparc_frame_cache *cache =
sparc32_frame_cache (this_frame, this_cache);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC32_PC_REGNUM || regnum == SPARC32_NPC_REGNUM)
{
CORE_ADDR pc = (regnum == SPARC32_NPC_REGNUM) ? 4 : 0;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* If this functions has a Structure, Union or Quad-Precision
return value, we have to skip the UNIMP instruction that encodes
the size of the structure. */
if (cache->struct_return_p)
pc += 4;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
regnum =
(cache->copied_regs_mask & 0x80) ? SPARC_I7_REGNUM : SPARC_O7_REGNUM;
pc += get_frame_register_unsigned (this_frame, regnum) + 8;
return frame_unwind_got_constant (this_frame, regnum, pc);
}
/* Handle StackGhost. */
{
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
ULONGEST wcookie = sparc_fetch_wcookie (gdbarch);
if (wcookie != 0 && !cache->frameless_p && regnum == SPARC_I7_REGNUM)
{
CORE_ADDR addr = cache->base + (regnum - SPARC_L0_REGNUM) * 4;
ULONGEST i7;
/* Read the value in from memory. */
i7 = get_frame_memory_unsigned (this_frame, addr, 4);
return frame_unwind_got_constant (this_frame, regnum, i7 ^ wcookie);
}
}
/* The previous frame's `local' and `in' registers may have been saved
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
in the register save area. */
if (regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM
&& (cache->saved_regs_mask & (1 << (regnum - SPARC_L0_REGNUM))))
{
CORE_ADDR addr = cache->base + (regnum - SPARC_L0_REGNUM) * 4;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
return frame_unwind_got_memory (this_frame, regnum, addr);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
}
/* The previous frame's `out' registers may be accessible as the current
frame's `in' registers. */
if (regnum >= SPARC_O0_REGNUM && regnum <= SPARC_O7_REGNUM
&& (cache->copied_regs_mask & (1 << (regnum - SPARC_O0_REGNUM))))
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
regnum += (SPARC_I0_REGNUM - SPARC_O0_REGNUM);
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
return frame_unwind_got_register (this_frame, regnum, regnum);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static const struct frame_unwind sparc32_frame_unwind =
{
NORMAL_FRAME,
gdb/ * frame.c (frame_unwind_register): Throw an error if unwinding the register failed. * get_prev_frame_1 (get_prev_frame_1): Ask the unwinder if there's an unwind stop reason. (frame_stop_reason_string): Handle UNWIND_UNAVAILABLE. * frame.h (enum unwind_stop_reason) <UNWIND_OUTERMOST, UNWIND_UNAVAILABLE>: New. * inline-frame.c (inline_frame_unwind): Install default_frame_unwind_stop_reason. * frame-unwind.c: Include "exceptions.h". (frame_unwind_find_by_frame): Swallow NOT_AVAILABLE_ERROR errors. (default_frame_unwind_stop_reason): New. * frame-unwind.h (frame_unwind_stop_reason_ftype): New typedef. (default_frame_unwind_stop_reason): Declare. (struct frame_unwind) <stop_reason>: New function pointer. * dummy-frame.c: Install default_frame_unwind_stop_reason. * dwarf2-frame.c: Include exceptions.h. (struct dwarf2_frame_cache) <unavailable_retaddr>: New field. (dwarf2_frame_cache): Swallow NOT_AVAILABLE_ERROR errors when computing the CFA. If such an error was thrown, set unavailable_retaddr. (dwarf2_frame_unwind_stop_reason): New. (dwarf2_frame_this_id): Don't build a frame id if the CFA was unavailable. (dwarf2_frame_unwind): Install dwarf2_frame_unwind_stop_reason. (dwarf2_signal_frame_unwind): Ditto. * amd64-tdep.c: Include "exceptions.h". (struct amd64_frame_cache): New field "base_p". (amd64_init_frame_cache): Clear it. (amd64_frame_cache_1): New, factored out from amd64_frame_cache. Avoid reading registers with functions that throw if the register is not necessary to compute the frame base. (amd64_frame_cache): Reimplement wrapping amd64_frame_cache_1, and swallowing NOT_AVAILABLE_ERROR. (amd64_frame_unwind_stop_reason): New. (amd64_frame_this_id): Don't build a frame id if the frame base was unavailable. (amd64_frame_unwind): Install amd64_frame_unwind_stop_reason. (amd64_sigtramp_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set base_p if the frame base was computable. (amd64_sigtramp_frame_unwind_stop_reason): New. (amd64_sigtramp_frame_this_id): Don't build a frame id if the frame base was unavailable. (amd64_sigtramp_frame_unwind): Install amd64_sigtramp_frame_unwind_stop_reason. (amd64_epilogue_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set base_p if the frame base was computable. (amd64_epilogue_frame_unwind_stop_reason): New. (amd64_epilogue_frame_this_id): Don't build a frame id if the frame base was unavailable. (amd64_epilogue_frame_unwind): Install amd64_epilogue_frame_unwind_stop_reason. * i386-tdep.c: Include "exceptions.h". (struct i386_frame_cache): New field "base_p". (i386_init_frame_cache): Clear it. (i386_frame_cache_1): New, factored out from amd64_frame_cache. Avoid reading registers with functions that throw if the register is not necessary to compute the frame base. (i386_frame_cache): Reimplement wrapping amd64_frame_cache_1, and swallowing NOT_AVAILABLE_ERROR. (i386_frame_unwind_stop_reason): New. (i386_frame_this_id): Don't build a frame id if the frame base was unavailable. (i386_frame_prev_register): Handle unavailable SP. (i386_frame_unwind): Install i386_frame_unwind_stop_reason. (i386_epilogue_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set base_p if the frame base was computable. (i386_epilogue_frame_unwind_stop_reason): New. (i386_epilogue_frame_this_id): Don't build a frame id if the frame base was unavailable. (i386_epilogue_frame_unwind): Install i386_epilogue_frame_unwind_stop_reason. (i386_sigtramp_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set base_p if the frame base was computable. (i386_sigtramp_frame_unwind_stop_reason): New. (i386_sigtramp_frame_this_id): Don't build a frame id if the frame base was unavailable. (i386_sigtramp_frame_unwind): Install i386_sigtramp_frame_unwind_stop_reason. * sentinel-frame.c (sentinel_frame_prev_register): Use the value type's size, not the register's. (sentinel_frame_unwind): Install default_frame_unwind_stop_reason. * alpha-mdebug-tdep.c (alpha_mdebug_frame_unwind): Install default_frame_unwind_stop_reason. * alpha-tdep.c (alpha_sigtramp_frame_unwind) (alpha_heuristic_frame_unwind): Ditto. * amd64obsd-tdep.c (amd64obsd_trapframe_unwind): Ditto. * arm-tdep.c (arm_prologue_unwind, arm_stub_unwind): Ditto. * avr-tdep.c (avr_frame_unwind): Ditto. * cris-tdep.c (cris_sigtramp_frame_unwind, cris_frame_unwind): Ditto. * frv-linux-tdep.c (frv_linux_sigtramp_frame_unwind): Ditto. * frv-tdep.c (frv_frame_unwind): Ditto. * h8300-tdep.c (h8300_frame_unwind): Ditto. * hppa-hpux-tdep.c (hppa_hpux_sigtramp_frame_unwind): Ditto. * hppa-linux-tdep.c (hppa_linux_sigtramp_frame_unwind): Ditto. * hppa-tdep.c (hppa_frame_unwind, hppa_fallback_frame_unwind) (hppa_stub_frame_unwind): Ditto. * i386obsd-tdep.c (i386obsd_trapframe_unwind): Ditto. * ia64-tdep.c (ia64_frame_unwind, ia64_sigtramp_frame_unwind) (ia64_libunwind_frame_unwind) (ia64_libunwind_sigtramp_frame_unwind): Ditto. * iq2000-tdep.c (iq2000_frame_unwind): Ditto. * lm32-tdep.c (lm32_frame_unwind): Ditto. * m32c-tdep.c (m32c_unwind): Ditto. * m32r-linux-tdep.c (m32r_linux_sigtramp_frame_unwind): Ditto. * m32r-tdep.c (m32r_frame_unwind): Ditto. * m68hc11-tdep.c (m68hc11_frame_unwind): Ditto. * m68k-tdep.c (m68k_frame_unwind): Ditto. * m68klinux-tdep.c (m68k_linux_sigtramp_frame_unwind): Ditto. * m88k-tdep.c (m88k_frame_unwind): Ditto. * mep-tdep.c (mep_frame_unwind): Ditto. * microblaze-tdep.c (microblaze_frame_unwind): Ditto. * mips-tdep.c (mips_insn16_frame_unwind, mips_insn32_frame_unwind) (mips_stub_frame_unwind): Ditto. * mn10300-tdep.c (mn10300_frame_unwind): Ditto. * moxie-tdep.c (moxie_frame_unwind): Ditto. * mt-tdep.c (mt_frame_unwind): Ditto. * ppc-linux-tdep.c (ppu2spu_unwind): Ditto. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_unwind): Ditto. * rs6000-tdep.c (rs6000_frame_unwind): Ditto. * s390-tdep.c (s390_frame_unwind, s390_stub_frame_unwind) (s390_sigtramp_frame_unwind): Ditto. * score-tdep.c (score_prologue_unwind): Ditto. * sh-tdep.c (sh_frame_unwind): Ditto. * sh64-tdep.c (sh64_frame_unwind): Ditto. * sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_unwind): Ditto. * sparc-tdep.c (sparc32_frame_unwind): Ditto. * sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_unwind): Ditto. * sparc64-tdep.c (sparc64_frame_unwind): Ditto. * sparc64fbsd-tdep.c (sparc64fbsd_sigtramp_frame_unwind): Ditto. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_frame_unwind): Ditto. * sparc64obsd-tdep.c (sparc64obsd_frame_unwind) (sparc64obsd_trapframe_unwind): Ditto. * sparcnbsd-tdep.c (sparc32nbsd_sigcontext_frame_unwind): Ditto. * sparcobsd-tdep.c (sparc32obsd_sigtramp_frame_unwind): Ditto. * spu-tdep.c (spu_frame_unwind, spu2ppu_unwind): Ditto. * v850-tdep.c (v850_frame_unwind): Ditto. * vax-tdep.c (vax_frame_unwind): Ditto. * vaxobsd-tdep.c (vaxobsd_sigtramp_frame_unwind): Ditto. * xstormy16-tdep.c (frame_unwind xstormy16_frame_unwind): Ditto. * xtensa-tdep.c (xtensa_unwind): Ditto.
2011-03-19 02:52:32 +08:00
default_frame_unwind_stop_reason,
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
sparc32_frame_this_id,
sparc32_frame_prev_register,
NULL,
default_frame_sniffer
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
};
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static CORE_ADDR
sparc32_frame_base_address (struct frame_info *this_frame, void **this_cache)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
struct sparc_frame_cache *cache =
sparc32_frame_cache (this_frame, this_cache);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
return cache->base;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static const struct frame_base sparc32_frame_base =
{
&sparc32_frame_unwind,
sparc32_frame_base_address,
sparc32_frame_base_address,
sparc32_frame_base_address
};
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static struct frame_id
sparc_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
CORE_ADDR sp;
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
sp = get_frame_register_unsigned (this_frame, SPARC_SP_REGNUM);
if (sp & 1)
sp += BIAS;
return frame_id_build (sp, get_frame_pc (this_frame));
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
}
/* Extract a function return value of TYPE from REGCACHE, and copy
that into VALBUF. */
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static void
sparc32_extract_return_value (struct type *type, struct regcache *regcache,
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
gdb_byte *valbuf)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
int len = TYPE_LENGTH (type);
gdb_byte buf[32];
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
gdb_assert (!sparc_structure_or_union_p (type));
gdb_assert (!(sparc_floating_p (type) && len == 16));
if (sparc_floating_p (type) || sparc_complex_floating_p (type))
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Floating return values. */
regcache_cooked_read (regcache, SPARC_F0_REGNUM, buf);
if (len > 4)
regcache_cooked_read (regcache, SPARC_F1_REGNUM, buf + 4);
if (len > 8)
{
regcache_cooked_read (regcache, SPARC_F2_REGNUM, buf + 8);
regcache_cooked_read (regcache, SPARC_F3_REGNUM, buf + 12);
}
if (len > 16)
{
regcache_cooked_read (regcache, SPARC_F4_REGNUM, buf + 16);
regcache_cooked_read (regcache, SPARC_F5_REGNUM, buf + 20);
regcache_cooked_read (regcache, SPARC_F6_REGNUM, buf + 24);
regcache_cooked_read (regcache, SPARC_F7_REGNUM, buf + 28);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
memcpy (valbuf, buf, len);
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
}
else
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Integral and pointer return values. */
gdb_assert (sparc_integral_or_pointer_p (type));
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
regcache_cooked_read (regcache, SPARC_O0_REGNUM, buf);
if (len > 4)
{
regcache_cooked_read (regcache, SPARC_O1_REGNUM, buf + 4);
gdb_assert (len == 8);
memcpy (valbuf, buf, 8);
}
else
{
/* Just stripping off any unused bytes should preserve the
signed-ness just fine. */
memcpy (valbuf, buf + 4 - len, len);
}
}
}
/* Store the function return value of type TYPE from VALBUF into
REGCACHE. */
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static void
sparc32_store_return_value (struct type *type, struct regcache *regcache,
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
const gdb_byte *valbuf)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
int len = TYPE_LENGTH (type);
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
gdb_byte buf[8];
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
gdb_assert (!sparc_structure_or_union_p (type));
gdb_assert (!(sparc_floating_p (type) && len == 16));
gdb_assert (len <= 8);
if (sparc_floating_p (type) || sparc_complex_floating_p (type))
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
/* Floating return values. */
memcpy (buf, valbuf, len);
regcache_cooked_write (regcache, SPARC_F0_REGNUM, buf);
if (len > 4)
regcache_cooked_write (regcache, SPARC_F1_REGNUM, buf + 4);
if (len > 8)
{
regcache_cooked_write (regcache, SPARC_F2_REGNUM, buf + 8);
regcache_cooked_write (regcache, SPARC_F3_REGNUM, buf + 12);
}
if (len > 16)
{
regcache_cooked_write (regcache, SPARC_F4_REGNUM, buf + 16);
regcache_cooked_write (regcache, SPARC_F5_REGNUM, buf + 20);
regcache_cooked_write (regcache, SPARC_F6_REGNUM, buf + 24);
regcache_cooked_write (regcache, SPARC_F7_REGNUM, buf + 28);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
}
else
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Integral and pointer return values. */
gdb_assert (sparc_integral_or_pointer_p (type));
if (len > 4)
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
gdb_assert (len == 8);
memcpy (buf, valbuf, 8);
regcache_cooked_write (regcache, SPARC_O1_REGNUM, buf + 4);
}
else
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* ??? Do we need to do any sign-extension here? */
memcpy (buf + 4 - len, valbuf, len);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
regcache_cooked_write (regcache, SPARC_O0_REGNUM, buf);
}
}
static enum return_value_convention
gdb/ * breakpoint.h (bp_location): Add related_address member. * inferior.h (get_return_value): Take a pointer to struct value instead of struct type for the function requested. * value.h (using_struct_return): Likewise. * gdbarch.sh (return_value): Take a pointer to struct value instead of struct type for the function requested. * breakpoint.c (set_breakpoint_location_function): Initialize related_address for bp_gnu_ifunc_resolver breakpoints. * elfread.c (elf_gnu_ifunc_resolver_return_stop): Pass the requested function's address to gdbarch_return_value. * eval.c (evaluate_subexp_standard): Pass the requested function's address to using_struct_return. * infcall.c (call_function_by_hand): Pass the requested function's address to using_struct_return and gdbarch_return_value. * infcmd.c (get_return_value): Take a pointer to struct value instead of struct type for the function requested. (print_return_value): Update accordingly. (finish_command_continuation): Likewise. * stack.c (return_command): Pass the requested function's address to using_struct_return and gdbarch_return_value. * value.c (using_struct_return): Take a pointer to struct value instead of struct type for the function requested. Pass the requested function's address to gdbarch_return_value. * python/py-finishbreakpoint.c (finish_breakpoint_object): New function_value member, replacing function_type. (bpfinishpy_dealloc): Update accordingly. (bpfinishpy_pre_stop_hook): Likewise. (bpfinishpy_init): Likewise. Record the requested function's address. * mips-tdep.c (mips_fval_reg): New enum. (mips_o32_push_dummy_call): For MIPS16 FP doubles do not swap words put in GP registers. (mips_o64_push_dummy_call): Update a comment. (mips_o32_return_value): Take a pointer to struct value instead of struct type for the function requested and use it to check if using the MIPS16 calling convention. Return the designated general purpose registers for floating-point values returned in MIPS16 mode. (mips_o64_return_value): Likewise. * ppc-tdep.h (ppc_sysv_abi_return_value): Update prototype. (ppc_sysv_abi_broken_return_value): Likewise. (ppc64_sysv_abi_return_value): Likewise. * alpha-tdep.c (alpha_return_value): Take a pointer to struct value instead of struct type for the function requested. * amd64-tdep.c (amd64_return_value): Likewise. * amd64-windows-tdep.c (amd64_windows_return_value): Likewise. * arm-tdep.c (arm_return_value): Likewise. * avr-tdep.c (avr_return_value): Likewise. * bfin-tdep.c (bfin_return_value): Likewise. * cris-tdep.c (cris_return_value): Likewise. * frv-tdep.c (frv_return_value): Likewise. * h8300-tdep.c (h8300_return_value): Likewise. (h8300h_return_value): Likewise. * hppa-tdep.c (hppa32_return_value): Likewise. (hppa64_return_value): Likewise. * i386-tdep.c (i386_return_value): Likewise. * ia64-tdep.c (ia64_return_value): Likewise. * iq2000-tdep.c (iq2000_return_value): Likewise. * lm32-tdep.c (lm32_return_value): Likewise. * m32c-tdep.c (m32c_return_value): Likewise. * m32r-tdep.c (m32r_return_value): Likewise. * m68hc11-tdep.c (m68hc11_return_value): Likewise. * m68k-tdep.c (m68k_return_value): Likewise. (m68k_svr4_return_value): Likewise. * m88k-tdep.c (m88k_return_value): Likewise. * mep-tdep.c (mep_return_value): Likewise. * microblaze-tdep.c (microblaze_return_value): Likewise. * mn10300-tdep.c (mn10300_return_value): Likewise. * moxie-tdep.c (moxie_return_value): Likewise. * mt-tdep.c (mt_return_value): Likewise. * ppc-linux-tdep.c (ppc_linux_return_value): Likewise. * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Likewise. (ppc_sysv_abi_broken_return_value): Likewise. (ppc64_sysv_abi_return_value): Likewise. * ppcnbsd-tdep.c (ppcnbsd_return_value): Likewise. * rl78-tdep.c (rl78_return_value): Likewise. * rs6000-aix-tdep.c (rs6000_return_value): Likewise. * rx-tdep.c (rx_return_value): Likewise. * s390-tdep.c (s390_return_value): Likewise. * score-tdep.c (score_return_value): Likewise. * sh-tdep.c (sh_return_value_nofpu): Likewise. (sh_return_value_fpu): Likewise. * sh64-tdep.c (sh64_return_value): Likewise. * sparc-tdep.c (sparc32_return_value): Likewise. * sparc64-tdep.c (sparc64_return_value): Likewise. * spu-tdep.c (spu_return_value): Likewise. * tic6x-tdep.c (tic6x_return_value): Likewise. * v850-tdep.c (v850_return_value): Likewise. * vax-tdep.c (vax_return_value): Likewise. * xstormy16-tdep.c (xstormy16_return_value): Likewise. * xtensa-tdep.c (xtensa_return_value): Likewise. * gdbarch.c: Regenerate. * gdbarch.h: Regenerate. gdb/testsuite/ * gdb.base/return-nodebug.exp: Also test float and double types.
2012-05-16 22:35:09 +08:00
sparc32_return_value (struct gdbarch *gdbarch, struct value *function,
doc/ChangeLog: -------------- * gdb.texinfo (Set SH Calling convention): New @item. (Show SH Calling convention): Ditto. ChangeLog: ---------- * NEWS: Add information on calling convention and new SH CLI options. * sh-tdep.c (sh_cc_gcc): New static string. (sh_cc_renesas): Ditto. (sh_cc_enum): New static string array. (sh_active_calling_convention): New static string pointer denoting active user chosen ABI. (sh_is_renesas_calling_convention): New function to return function specific ABI, or user choice if necessary. (sh_use_struct_convention): Rename first argument and turn around its meaning. Check for renesas ABI and return accordingly. (sh_use_struct_convention_nofpu): New function. (sh_next_flt_argreg): Get function type as third parameter. Check for renesas ABI and choose floating registers accordingly. (sh_push_dummy_call_fpu): Check for ABI and choose argument slot and struct return slot accordingly. (sh_push_dummy_call_nofpu): Ditto. (sh_return_value_nofpu): Call sh_use_struct_convention_nofpu from here. Evaluate ABI and give to sh_use_struct_convention_nofpu. (sh_return_value_fpu): Evaluate ABI and give to sh_use_struct_convention. (show_sh_command): New function. (set_sh_command): Ditto. (_initialize_sh_tdep): Initialize `set/show sh calling-convention CLI command. * gdbarch.sh (return_value): Add func_type argument. * gdbarch.c: Regenerate. * gdbarch.h: Ditto. * eval.c (evaluate_subexp_standard): Rename local variable value_type to val_type so as not to collide with value_type function. Call using_struct_return with additional function type argument. * infcall.c (call_function_by_hand): Call using_struct_return and gdbarch_return_value with additional function type argument. * infcmd.c (print_return_value): Take addition func_type argument. Call gdbarch_return_value with additional function type argument. (finish_command_continuation): Call print_return_value with additional function type argument. (finish_command): Ditto. * sparc-tdep.c (sparc32_push_dummy_code): Call using_struct_return with additional function type argument. * stack.c (return_command): Call using_struct_return and gdbarch_return_value with additional function type argument. * value.c (using_struct_return): Take additional function type argument. * value.h (using_struct_return): Accommodate declaration. * alpha-tdep.c (alpha_return_value): Add func_type argument. * amd64-tdep.c (amd64_return_value): Ditto. * arm-tdep.c (arm_return_value): Ditto. * avr-tdep.c (avr_return_value): Ditto. * cris-tdep.c (cris_return_value): Ditto. * frv-tdep.c (frv_return_value): Ditto. * h8300-tdep.c (h8300_return_value): Ditto. (h8300h_return_value): Ditto. * hppa-tdep.c (hppa32_return_value): Ditto. (hppa64_return_value): Ditto. * i386-tdep.c (i386_return_value): Ditto. * ia64-tdep.c (ia64_return_value): Ditto. * iq2000-tdep.c (iq2000_return_value): Ditto. * m32c-tdep.c (m32c_return_value): Ditto. * m32r-tdep.c (m32r_return_value): Ditto. * m68hc11-tdep.c (m68hc11_return_value): Ditto. * m68k-tdep.c (m68k_return_value): Ditto. (m68k_svr4_return_value): Ditto. * m88k-tdep.c (m88k_return_value): Ditto. * mep-tdep.c (mep_return_value): Ditto. * mips-tdep.c (mips_eabi_return_value): Ditto. (mips_n32n64_return_value): Ditto. (mips_o32_return_value): Ditto. (mips_o64_return_value): Ditto. * mn10300-tdep.c (mn10300_return_value): Ditto. * mt-tdep.c (mt_return_value): Ditto. * ppc-linux-tdep.c (ppc_linux_return_value): Ditto. * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Ditto. (ppc_sysv_abi_broken_return_value): Ditto. (ppc64_sysv_abi_return_value): Ditto. * ppc-tdep.h (ppc_sysv_abi_return_value): Ditto. (ppc_sysv_abi_broken_return_value): Ditto. (ppc64_sysv_abi_return_value): Ditto. * ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto. * rs6000-tdep.c (rs6000_return_value): Ditto. * s390-tdep.c (s390_return_value): Ditto. * score-tdep.c (score_return_value): Ditto. * sh-tdep.c (sh_return_value_nofpu): Ditto. (sh_return_value_fpu): Ditto. * sh64-tdep.c (sh64_return_value): Ditto. * sparc-tdep.c (sparc32_return_value): Ditto. * sparc64-tdep.c (sparc64_return_value): Ditto. * spu-tdep.c (spu_return_value): Ditto. * v850-tdep.c (v850_return_value): Ditto. * vax-tdep.c (vax_return_value): Ditto. * xstormy16-tdep.c (xstormy16_return_value): Ditto. * xtensa-tdep.c (xtensa_return_value): Ditto. * gdbtypes.h (struct type): Add calling_convention member. * dwarf2read.c (read_subroutine_type): Add calling convention read from DW_AT_calling_convention attribute to function type.
2008-04-22 19:03:42 +08:00
struct type *type, struct regcache *regcache,
gdb_byte *readbuf, const gdb_byte *writebuf)
{
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
/* The psABI says that "...every stack frame reserves the word at
%fp+64. If a function returns a structure, union, or
quad-precision value, this word should hold the address of the
object into which the return value should be copied." This
guarantees that we can always find the return value, not just
before the function returns. */
if (sparc_structure_or_union_p (type)
|| (sparc_floating_p (type) && TYPE_LENGTH (type) == 16))
{
ULONGEST sp;
CORE_ADDR addr;
if (readbuf)
{
regcache_cooked_read_unsigned (regcache, SPARC_SP_REGNUM, &sp);
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
addr = read_memory_unsigned_integer (sp + 64, 4, byte_order);
read_memory (addr, readbuf, TYPE_LENGTH (type));
}
if (writebuf)
{
regcache_cooked_read_unsigned (regcache, SPARC_SP_REGNUM, &sp);
addr = read_memory_unsigned_integer (sp + 64, 4, byte_order);
write_memory (addr, writebuf, TYPE_LENGTH (type));
}
return RETURN_VALUE_ABI_PRESERVES_ADDRESS;
}
if (readbuf)
sparc32_extract_return_value (type, regcache, readbuf);
if (writebuf)
sparc32_store_return_value (type, regcache, writebuf);
return RETURN_VALUE_REGISTER_CONVENTION;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static int
sparc32_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
return (sparc_structure_or_union_p (type)
|| (sparc_floating_p (type) && TYPE_LENGTH (type) == 16)
|| sparc_complex_floating_p (type));
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
}
static int
sparc32_dwarf2_struct_return_p (struct frame_info *this_frame)
{
CORE_ADDR pc = get_frame_address_in_block (this_frame);
struct symbol *sym = find_pc_function (pc);
if (sym)
return sparc32_struct_return_from_sym (sym);
return 0;
}
static void
sparc32_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
struct dwarf2_frame_state_reg *reg,
struct frame_info *this_frame)
{
int off;
switch (regnum)
{
case SPARC_G0_REGNUM:
/* Since %g0 is always zero, there is no point in saving it, and
people will be inclined omit it from the CFI. Make sure we
don't warn about that. */
reg->how = DWARF2_FRAME_REG_SAME_VALUE;
break;
case SPARC_SP_REGNUM:
reg->how = DWARF2_FRAME_REG_CFA;
break;
case SPARC32_PC_REGNUM:
case SPARC32_NPC_REGNUM:
reg->how = DWARF2_FRAME_REG_RA_OFFSET;
off = 8;
if (sparc32_dwarf2_struct_return_p (this_frame))
off += 4;
if (regnum == SPARC32_NPC_REGNUM)
off += 4;
reg->loc.offset = off;
break;
}
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* The SPARC Architecture doesn't have hardware single-step support,
and most operating systems don't implement it either, so we provide
software single-step mechanism. */
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static CORE_ADDR
* gdbarch.sh (software_single_step): Replace REGCACHE argument by FRAME argument. * gdbarch.c, gdbarch.h: Regenerate. * infrun.c (resume): Pass current frame to SOFTWARE_SINGLE_STEP. * alpha-tdep.c (alpha_next_pc): Add FRAME argument. Retrieve registers from FRAME instead of using read_register. (alpha_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to alpha_next_pc. Use get_frame_pc instead of read_pc. * alpha-tdep.h (alpha_software_single_step): Replace REGCACHE argument by FRAME. * arm-tdep.c (shifted_reg_val): Add FRAME argument. Read registers from FRAME instead of using read_register. (thumb_get_next_pc): Likewise. (arm_get_next_pc): Likewise. (arm_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to arm_get_next_pc. Use get_frame_pc instead of read_register. * arm-tdep.h (arm_software_single_step): Replace REGCACHE argument by FRAME. * cris-tdep.c (find_step_target): Add FRAME argument. Read registers from FRAME instead of using read_register. (cris_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to find_step_target. * mips-tdep.c (mips32_next_pc): Add FRAME argument. Read registers from FRAME instead of using read_register / read_signed_register. (extended_mips16_next_pc): Likewise. (mips16_next_pc): Likewise. (mips_next_pc): Likewise. (mips_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to mips_next_pc. Use get_frame_pc instead of read_pc. * mips-tdep.h (mips_software_single_step): Replace REGCACHE argument by FRAME. * rs6000-tdep.c (branch_dest): Add FRAME argument. Use it instead of current frame. Read registers from FRAME. (deal_with_atomic_sequence): Add FRAME argument. Pass it to branch_dest. Use get_frame_pc instead of read_pc. (rs6000_software_single_step): Likewise. (bl_to_blrl_insn_p): Do not call branch_dest. * rs6000-tdep.h (rs6000_software_single_step): Replace REGCACHE argument by FRAME. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Add FRAME argument. Read registers from FRAME instead of current regcache. * sparc-linux-tdep.c (sparc32_linux_step_trap): Likewise. * sparcnbsd-tdep.c (sparcnbsd_step_trap): Likewise. * sparc-tdep.c (sparc_address_from_register): Remove. (sparc_analyze_control_transfer): Pass FRAME argument instead of GDBARCH. Pass FRAME to step_trap callback. (sparc_step_trap): Add FRAME argument. (space_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to sparc_analyze_control_transfer. Read registers from FRAME instead of calling sparc_address_from_register. * sparc-tdep.h (struct gdbarch_tdep): Add FRAME argument to step_trap callback. (sparc_address_from_register): Remove prototype. (sparc_software_single_step): Replace REGCACHE argument by FRAME. (sparcnbsd_step_trap): Add FRAME argument. * spu-tdep.c (spu_software_single_step): Replace REGCACHE argument by FRAME. Read registers from FRAME instead of REGCACHE.
2007-06-16 06:37:35 +08:00
sparc_analyze_control_transfer (struct frame_info *frame,
CORE_ADDR pc, CORE_ADDR *npc)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
unsigned long insn = sparc_fetch_instruction (pc);
int conditional_p = X_COND (insn) & 0x7;
int branch_p = 0, fused_p = 0;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
long offset = 0; /* Must be signed for sign-extend. */
if (X_OP (insn) == 0 && X_OP2 (insn) == 3)
{
if ((insn & 0x10000000) == 0)
{
/* Branch on Integer Register with Prediction (BPr). */
branch_p = 1;
conditional_p = 1;
}
else
{
/* Compare and Branch */
branch_p = 1;
fused_p = 1;
offset = 4 * X_DISP10 (insn);
}
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
else if (X_OP (insn) == 0 && X_OP2 (insn) == 6)
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Branch on Floating-Point Condition Codes (FBfcc). */
branch_p = 1;
offset = 4 * X_DISP22 (insn);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
else if (X_OP (insn) == 0 && X_OP2 (insn) == 5)
{
/* Branch on Floating-Point Condition Codes with Prediction
(FBPfcc). */
branch_p = 1;
offset = 4 * X_DISP19 (insn);
}
else if (X_OP (insn) == 0 && X_OP2 (insn) == 2)
{
/* Branch on Integer Condition Codes (Bicc). */
branch_p = 1;
offset = 4 * X_DISP22 (insn);
}
else if (X_OP (insn) == 0 && X_OP2 (insn) == 1)
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Branch on Integer Condition Codes with Prediction (BPcc). */
branch_p = 1;
offset = 4 * X_DISP19 (insn);
}
else if (X_OP (insn) == 2 && X_OP3 (insn) == 0x3a)
{
/* Trap instruction (TRAP). */
* gdbarch.sh (software_single_step): Replace REGCACHE argument by FRAME argument. * gdbarch.c, gdbarch.h: Regenerate. * infrun.c (resume): Pass current frame to SOFTWARE_SINGLE_STEP. * alpha-tdep.c (alpha_next_pc): Add FRAME argument. Retrieve registers from FRAME instead of using read_register. (alpha_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to alpha_next_pc. Use get_frame_pc instead of read_pc. * alpha-tdep.h (alpha_software_single_step): Replace REGCACHE argument by FRAME. * arm-tdep.c (shifted_reg_val): Add FRAME argument. Read registers from FRAME instead of using read_register. (thumb_get_next_pc): Likewise. (arm_get_next_pc): Likewise. (arm_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to arm_get_next_pc. Use get_frame_pc instead of read_register. * arm-tdep.h (arm_software_single_step): Replace REGCACHE argument by FRAME. * cris-tdep.c (find_step_target): Add FRAME argument. Read registers from FRAME instead of using read_register. (cris_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to find_step_target. * mips-tdep.c (mips32_next_pc): Add FRAME argument. Read registers from FRAME instead of using read_register / read_signed_register. (extended_mips16_next_pc): Likewise. (mips16_next_pc): Likewise. (mips_next_pc): Likewise. (mips_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to mips_next_pc. Use get_frame_pc instead of read_pc. * mips-tdep.h (mips_software_single_step): Replace REGCACHE argument by FRAME. * rs6000-tdep.c (branch_dest): Add FRAME argument. Use it instead of current frame. Read registers from FRAME. (deal_with_atomic_sequence): Add FRAME argument. Pass it to branch_dest. Use get_frame_pc instead of read_pc. (rs6000_software_single_step): Likewise. (bl_to_blrl_insn_p): Do not call branch_dest. * rs6000-tdep.h (rs6000_software_single_step): Replace REGCACHE argument by FRAME. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Add FRAME argument. Read registers from FRAME instead of current regcache. * sparc-linux-tdep.c (sparc32_linux_step_trap): Likewise. * sparcnbsd-tdep.c (sparcnbsd_step_trap): Likewise. * sparc-tdep.c (sparc_address_from_register): Remove. (sparc_analyze_control_transfer): Pass FRAME argument instead of GDBARCH. Pass FRAME to step_trap callback. (sparc_step_trap): Add FRAME argument. (space_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to sparc_analyze_control_transfer. Read registers from FRAME instead of calling sparc_address_from_register. * sparc-tdep.h (struct gdbarch_tdep): Add FRAME argument to step_trap callback. (sparc_address_from_register): Remove prototype. (sparc_software_single_step): Replace REGCACHE argument by FRAME. (sparcnbsd_step_trap): Add FRAME argument. * spu-tdep.c (spu_software_single_step): Replace REGCACHE argument by FRAME. Read registers from FRAME instead of REGCACHE.
2007-06-16 06:37:35 +08:00
return gdbarch_tdep (get_frame_arch (frame))->step_trap (frame, insn);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* FIXME: Handle DONE and RETRY instructions. */
if (branch_p)
{
if (fused_p)
{
/* Fused compare-and-branch instructions are non-delayed,
and do not have an annuling capability. So we need to
always set a breakpoint on both the NPC and the branch
target address. */
gdb_assert (offset != 0);
return pc + offset;
}
else if (conditional_p)
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* For conditional branches, return nPC + 4 iff the annul
bit is 1. */
return (X_A (insn) ? *npc + 4 : 0);
}
else
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* For unconditional branches, return the target if its
specified condition is "always" and return nPC + 4 if the
condition is "never". If the annul bit is 1, set *NPC to
zero. */
if (X_COND (insn) == 0x0)
pc = *npc, offset = 4;
if (X_A (insn))
*npc = 0;
gdb_assert (offset != 0);
return pc + offset;
}
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
return 0;
}
static CORE_ADDR
* gdbarch.sh (software_single_step): Replace REGCACHE argument by FRAME argument. * gdbarch.c, gdbarch.h: Regenerate. * infrun.c (resume): Pass current frame to SOFTWARE_SINGLE_STEP. * alpha-tdep.c (alpha_next_pc): Add FRAME argument. Retrieve registers from FRAME instead of using read_register. (alpha_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to alpha_next_pc. Use get_frame_pc instead of read_pc. * alpha-tdep.h (alpha_software_single_step): Replace REGCACHE argument by FRAME. * arm-tdep.c (shifted_reg_val): Add FRAME argument. Read registers from FRAME instead of using read_register. (thumb_get_next_pc): Likewise. (arm_get_next_pc): Likewise. (arm_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to arm_get_next_pc. Use get_frame_pc instead of read_register. * arm-tdep.h (arm_software_single_step): Replace REGCACHE argument by FRAME. * cris-tdep.c (find_step_target): Add FRAME argument. Read registers from FRAME instead of using read_register. (cris_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to find_step_target. * mips-tdep.c (mips32_next_pc): Add FRAME argument. Read registers from FRAME instead of using read_register / read_signed_register. (extended_mips16_next_pc): Likewise. (mips16_next_pc): Likewise. (mips_next_pc): Likewise. (mips_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to mips_next_pc. Use get_frame_pc instead of read_pc. * mips-tdep.h (mips_software_single_step): Replace REGCACHE argument by FRAME. * rs6000-tdep.c (branch_dest): Add FRAME argument. Use it instead of current frame. Read registers from FRAME. (deal_with_atomic_sequence): Add FRAME argument. Pass it to branch_dest. Use get_frame_pc instead of read_pc. (rs6000_software_single_step): Likewise. (bl_to_blrl_insn_p): Do not call branch_dest. * rs6000-tdep.h (rs6000_software_single_step): Replace REGCACHE argument by FRAME. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Add FRAME argument. Read registers from FRAME instead of current regcache. * sparc-linux-tdep.c (sparc32_linux_step_trap): Likewise. * sparcnbsd-tdep.c (sparcnbsd_step_trap): Likewise. * sparc-tdep.c (sparc_address_from_register): Remove. (sparc_analyze_control_transfer): Pass FRAME argument instead of GDBARCH. Pass FRAME to step_trap callback. (sparc_step_trap): Add FRAME argument. (space_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to sparc_analyze_control_transfer. Read registers from FRAME instead of calling sparc_address_from_register. * sparc-tdep.h (struct gdbarch_tdep): Add FRAME argument to step_trap callback. (sparc_address_from_register): Remove prototype. (sparc_software_single_step): Replace REGCACHE argument by FRAME. (sparcnbsd_step_trap): Add FRAME argument. * spu-tdep.c (spu_software_single_step): Replace REGCACHE argument by FRAME. Read registers from FRAME instead of REGCACHE.
2007-06-16 06:37:35 +08:00
sparc_step_trap (struct frame_info *frame, unsigned long insn)
{
return 0;
}
int
* gdbarch.sh (software_single_step): Replace REGCACHE argument by FRAME argument. * gdbarch.c, gdbarch.h: Regenerate. * infrun.c (resume): Pass current frame to SOFTWARE_SINGLE_STEP. * alpha-tdep.c (alpha_next_pc): Add FRAME argument. Retrieve registers from FRAME instead of using read_register. (alpha_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to alpha_next_pc. Use get_frame_pc instead of read_pc. * alpha-tdep.h (alpha_software_single_step): Replace REGCACHE argument by FRAME. * arm-tdep.c (shifted_reg_val): Add FRAME argument. Read registers from FRAME instead of using read_register. (thumb_get_next_pc): Likewise. (arm_get_next_pc): Likewise. (arm_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to arm_get_next_pc. Use get_frame_pc instead of read_register. * arm-tdep.h (arm_software_single_step): Replace REGCACHE argument by FRAME. * cris-tdep.c (find_step_target): Add FRAME argument. Read registers from FRAME instead of using read_register. (cris_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to find_step_target. * mips-tdep.c (mips32_next_pc): Add FRAME argument. Read registers from FRAME instead of using read_register / read_signed_register. (extended_mips16_next_pc): Likewise. (mips16_next_pc): Likewise. (mips_next_pc): Likewise. (mips_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to mips_next_pc. Use get_frame_pc instead of read_pc. * mips-tdep.h (mips_software_single_step): Replace REGCACHE argument by FRAME. * rs6000-tdep.c (branch_dest): Add FRAME argument. Use it instead of current frame. Read registers from FRAME. (deal_with_atomic_sequence): Add FRAME argument. Pass it to branch_dest. Use get_frame_pc instead of read_pc. (rs6000_software_single_step): Likewise. (bl_to_blrl_insn_p): Do not call branch_dest. * rs6000-tdep.h (rs6000_software_single_step): Replace REGCACHE argument by FRAME. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Add FRAME argument. Read registers from FRAME instead of current regcache. * sparc-linux-tdep.c (sparc32_linux_step_trap): Likewise. * sparcnbsd-tdep.c (sparcnbsd_step_trap): Likewise. * sparc-tdep.c (sparc_address_from_register): Remove. (sparc_analyze_control_transfer): Pass FRAME argument instead of GDBARCH. Pass FRAME to step_trap callback. (sparc_step_trap): Add FRAME argument. (space_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to sparc_analyze_control_transfer. Read registers from FRAME instead of calling sparc_address_from_register. * sparc-tdep.h (struct gdbarch_tdep): Add FRAME argument to step_trap callback. (sparc_address_from_register): Remove prototype. (sparc_software_single_step): Replace REGCACHE argument by FRAME. (sparcnbsd_step_trap): Add FRAME argument. * spu-tdep.c (spu_software_single_step): Replace REGCACHE argument by FRAME. Read registers from FRAME instead of REGCACHE.
2007-06-16 06:37:35 +08:00
sparc_software_single_step (struct frame_info *frame)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
* gdbarch.sh (software_single_step): Replace REGCACHE argument by FRAME argument. * gdbarch.c, gdbarch.h: Regenerate. * infrun.c (resume): Pass current frame to SOFTWARE_SINGLE_STEP. * alpha-tdep.c (alpha_next_pc): Add FRAME argument. Retrieve registers from FRAME instead of using read_register. (alpha_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to alpha_next_pc. Use get_frame_pc instead of read_pc. * alpha-tdep.h (alpha_software_single_step): Replace REGCACHE argument by FRAME. * arm-tdep.c (shifted_reg_val): Add FRAME argument. Read registers from FRAME instead of using read_register. (thumb_get_next_pc): Likewise. (arm_get_next_pc): Likewise. (arm_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to arm_get_next_pc. Use get_frame_pc instead of read_register. * arm-tdep.h (arm_software_single_step): Replace REGCACHE argument by FRAME. * cris-tdep.c (find_step_target): Add FRAME argument. Read registers from FRAME instead of using read_register. (cris_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to find_step_target. * mips-tdep.c (mips32_next_pc): Add FRAME argument. Read registers from FRAME instead of using read_register / read_signed_register. (extended_mips16_next_pc): Likewise. (mips16_next_pc): Likewise. (mips_next_pc): Likewise. (mips_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to mips_next_pc. Use get_frame_pc instead of read_pc. * mips-tdep.h (mips_software_single_step): Replace REGCACHE argument by FRAME. * rs6000-tdep.c (branch_dest): Add FRAME argument. Use it instead of current frame. Read registers from FRAME. (deal_with_atomic_sequence): Add FRAME argument. Pass it to branch_dest. Use get_frame_pc instead of read_pc. (rs6000_software_single_step): Likewise. (bl_to_blrl_insn_p): Do not call branch_dest. * rs6000-tdep.h (rs6000_software_single_step): Replace REGCACHE argument by FRAME. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Add FRAME argument. Read registers from FRAME instead of current regcache. * sparc-linux-tdep.c (sparc32_linux_step_trap): Likewise. * sparcnbsd-tdep.c (sparcnbsd_step_trap): Likewise. * sparc-tdep.c (sparc_address_from_register): Remove. (sparc_analyze_control_transfer): Pass FRAME argument instead of GDBARCH. Pass FRAME to step_trap callback. (sparc_step_trap): Add FRAME argument. (space_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to sparc_analyze_control_transfer. Read registers from FRAME instead of calling sparc_address_from_register. * sparc-tdep.h (struct gdbarch_tdep): Add FRAME argument to step_trap callback. (sparc_address_from_register): Remove prototype. (sparc_software_single_step): Replace REGCACHE argument by FRAME. (sparcnbsd_step_trap): Add FRAME argument. * spu-tdep.c (spu_software_single_step): Replace REGCACHE argument by FRAME. Read registers from FRAME instead of REGCACHE.
2007-06-16 06:37:35 +08:00
struct gdbarch *arch = get_frame_arch (frame);
struct gdbarch_tdep *tdep = gdbarch_tdep (arch);
2009-10-19 Pedro Alves <pedro@codesourcery.com> Stan Shebs <stan@codesourcery.com> Add base multi-executable/process support to GDB. gdb/ * Makefile.in (SFILES): Add progspace.c. (COMMON_OBS): Add progspace.o. * progspace.h: New. * progspace.c: New. * breakpoint.h (struct bp_target_info) <placed_address_space>: New field. (struct bp_location) <pspace>: New field. (struct breakpoint) <pspace>: New field. (bpstat_stop_status, breakpoint_here_p) (moribund_breakpoint_here_p, breakpoint_inserted_here_p) (regular_breakpoint_inserted_here_p) (software_breakpoint_inserted_here_p, breakpoint_thread_match) (set_default_breakpoint): Adjust prototypes. (remove_breakpoints_pid, breakpoint_program_space_exit): Declare. (insert_single_step_breakpoint, deprecated_insert_raw_breakpoint): Adjust prototypes. * breakpoint.c (executing_startup): Delete. (default_breakpoint_sspace): New. (breakpoint_restore_shadows): Skip if the address space doesn't match. (update_watchpoint): Record the frame's program space in the breakpoint location. (insert_bp_location): Record the address space in target_info. Adjust to pass the symbol space to solib_name_from_address. (breakpoint_program_space_exit): New. (insert_breakpoint_locations): Switch the symbol space and thread when inserting breakpoints. Don't insert breakpoints in a vfork parent waiting for vfork done if we're not attached to the vfork child. (remove_breakpoints_pid): New. (reattach_breakpoints): Switch to a thread of PID. Ignore breakpoints of other symbol spaces. (create_internal_breakpoint): Store the symbol space in the sal. (create_longjmp_master_breakpoint): Iterate over all symbol spaces. (update_breakpoints_after_exec): Ignore breakpoints for other symbol spaces. (remove_breakpoint): Rename to ... (remove_breakpoint_1): ... this. Pass the breakpoints symbol space to solib_name_from_address. (remove_breakpoint): New. (mark_breakpoints_out): Ignore breakpoints from other symbol spaces. (breakpoint_init_inferior): Ditto. (breakpoint_here_p): Add an address space argument and adjust to use breakpoint_address_match. (moribund_breakpoint_here_p): Ditto. (regular_breakpoint_inserted_here_p): Ditto. (breakpoint_inserted_here_p): Ditto. (software_breakpoint_inserted_here_p): Ditto. (breakpoint_thread_match): Ditto. (bpstat_check_location): Ditto. (bpstat_stop_status): Ditto. (print_breakpoint_location): If there's a location to print, switch the current symbol space. (print_one_breakpoint_location): Add `allflag' argument. (print_one_breakpoint): Ditto. Adjust. (do_captured_breakpoint_query): Adjust. (breakpoint_1): Adjust. (breakpoint_has_pc): Also match the symbol space. (describe_other_breakpoints): Add a symbol space argument and adjust. (set_default_breakpoint): Add a symbol space argument. Set default_breakpoint_sspace. (breakpoint_address_match): New. (check_duplicates_for): Add an address space argument, and adjust. (set_raw_breakpoint): Record the symbol space in the location and in the breakpoint. (set_longjmp_breakpoint): Skip longjmp master breakpoints from other symbol spaces. (remove_thread_event_breakpoints, remove_solib_event_breakpoints) (disable_breakpoints_in_shlibs): Skip breakpoints from other symbol spaces. (disable_breakpoints_in_unloaded_shlib): Match symbol spaces. (create_catchpoint): Set the symbol space in the sal. (disable_breakpoints_before_startup): Skip breakpoints from other symbol spaces. Set executing_startup in the current symbol space. (enable_breakpoints_after_startup): Clear executing_startup in the current symbol space. Skip breakpoints from other symbol spaces. (clone_momentary_breakpoint): Also copy the symbol space. (add_location_to_breakpoint): Set the location's symbol space. (bp_loc_is_permanent): Switch thread and symbol space. (create_breakpoint): Adjust. (expand_line_sal_maybe): Expand comment to mention symbol spaces. Switch thread and symbol space when reading memory. (parse_breakpoint_sals): Set the symbol space in the sal. (break_command_really): Ditto. (skip_prologue_sal): Switch and space. (resolve_sal_pc): Ditto. (watch_command_1): Record the symbol space in the sal. (create_ada_exception_breakpoint): Adjust. (clear_command): Adjust. Match symbol spaces. (update_global_location_list): Use breakpoint_address_match. (breakpoint_re_set_one): Switch thread and space. (breakpoint_re_set): Save symbol space. (breakpoint_re_set_thread): Also reset the symbol space. (deprecated_insert_raw_breakpoint): Add an address space argument. Adjust. (insert_single_step_breakpoint): Ditto. (single_step_breakpoint_inserted_here_p): Ditto. (clear_syscall_counts): New. (_initialize_breakpoint): Install it as inferior_exit observer. * exec.h: Include "progspace.h". (exec_bfd, exec_bfd_mtime): New defines. (exec_close): Declare. * exec.c: Include "gdbthread.h" and "progspace.h". (exec_bfd, exec_bfd_mtime, current_target_sections_1): Delete. (using_exec_ops): New. (exec_close_1): Rename to exec_close, and make public. (exec_close): Rename to exec_close_1, and adjust all callers. Add description. Remove target sections and close executables from all program spaces. (exec_file_attach): Add comment. (add_target_sections): Check on `using_exec_ops' to check if the target should be pushed. (remove_target_sections): Only unpush the target if there are no more target sections in any symbol space. * gdbcore.h: Include "exec.h". (exec_bfd, exec_bfd_mtime): Remove declarations. * frame.h (get_frame_program_space, get_frame_address_space) (frame_unwind_program_space): Declare. * frame.c (struct frame_info) <pspace, aspace>: New fields. (create_sentinel_frame): Add program space argument. Set the pspace and aspace fields of the frame object. (get_current_frame, create_new_frame): Adjust. (get_frame_program_space): New. (frame_unwind_program_space): New. (get_frame_address_space): New. * stack.c (print_frame_info): Adjust. (print_frame): Use the frame's program space. * gdbthread.h (any_live_thread_of_process): Declare. * thread.c (any_live_thread_of_process): New. (switch_to_thread): Switch the program space as well. (restore_selected_frame): Don't warn if trying to restore frame level 0. * inferior.h: Include "progspace.h". (detach_fork): Declare. (struct inferior) <removable, aspace, pspace> <vfork_parent, vfork_child, pending_detach> <waiting_for_vfork_done>: New fields. <terminal_info>: Remove field. <data, num_data>: New fields. (register_inferior_data, register_inferior_data_with_cleanup) (clear_inferior_data, set_inferior_data, inferior_data): Declare. (exit_inferior, exit_inferior_silent, exit_inferior_num_silent) (inferior_appeared): Declare. (find_inferior_pid): Typo. (find_inferior_id, find_inferior_for_program_space): Declare. (set_current_inferior, save_current_inferior, prune_inferiors) (number_of_inferiors): Declare. (inferior_list): Declare. * inferior.c: Include "gdbcore.h" and "symfile.h". (inferior_list): Make public. (delete_inferior_1): Always delete thread silently. (find_inferior_id): Make public. (current_inferior_): New. (current_inferior): Use it. (set_current_inferior): New. (restore_inferior): New. (save_current_inferior): New. (free_inferior): Free the per-inferior data. (add_inferior_silent): Allocate per-inferior data. Call inferior_appeared. (delete_threads_of_inferior): New. (delete_inferior_1): Adjust interface to take an inferior pointer. (delete_inferior): Adjust. (delete_inferior_silent): Adjust. (exit_inferior_1): New. (exit_inferior): New. (exit_inferior_silent): New. (exit_inferior_num_silent): New. (detach_inferior): Adjust. (inferior_appeared): New. (discard_all_inferiors): Adjust. (find_inferior_id): Make public. Assert pid is not zero. (find_inferior_for_program_space): New. (have_inferiors): Check if we have any inferior with pid not zero. (have_live_inferiors): Go over all pushed targets looking for process_stratum. (prune_inferiors): New. (number_of_inferiors): New. (print_inferior): Add executable column. Print vfork parent/child relationships. (inferior_command): Adjust to cope with not running inferiors. (remove_inferior_command): New. (add_inferior_command): New. (clone_inferior_command): New. (struct inferior_data): New. (struct inferior_data_registration): New. (struct inferior_data_registry): New. (inferior_data_registry): New. (register_inferior_data_with_cleanup): New. (register_inferior_data): New. (inferior_alloc_data): New. (inferior_free_data): New. (clear_inferior_data): New. (set_inferior_data): New. (inferior_data): New. (initialize_inferiors): New. (_initialize_inferiors): Register "add-inferior", "remove-inferior" and "clone-inferior" commands. * objfiles.h: Include "progspace.h". (struct objfile) <pspace>: New field. (symfile_objfile, object_files): Don't declare. (ALL_PSPACE_OBJFILES): New. (ALL_PSPACE_OBJFILES_SAFE): New. (ALL_OBJFILES, ALL_OBJFILES_SAFE): Adjust. (ALL_PSPACE_SYMTABS): New. (ALL_PRIMARY_SYMTABS): Adjust. (ALL_PSPACE_PRIMARY_SYMTABS): New. (ALL_PSYMTABS): Adjust. (ALL_PSPACE_PSYMTABS): New. * objfiles.c (object_files, symfile_objfile): Delete. (struct objfile_sspace_info): New. (objfiles_pspace_data): New. (objfiles_pspace_data_cleanup): New. (get_objfile_pspace_data): New. (objfiles_changed_p): Delete. (allocate_objfile): Set the objfile's program space. Adjust to reference objfiles_changed_p in pspace data. (free_objfile): Adjust to reference objfiles_changed_p in pspace data. (objfile_relocate): Ditto. (update_section_map): Add pspace argument. Adjust to iterate over objfiles in the passed in pspace. (find_pc_section): Delete sections and num_sections statics. Adjust to refer to program space's objfiles_changed_p. Adjust to refer to sections and num_sections store in the objfile's pspace data. (objfiles_changed): Adjust to reference objfiles_changed_p in pspace data. (_initialize_objfiles): New. * linespec.c (decode_all_digits, decode_dollar): Set the sal's program space. * source.c (current_source_pspace): New. (get_current_source_symtab_and_line): Set the sal's program space. (set_current_source_symtab_and_line): Set current_source_pspace. (select_source_symtab): Ditto. Use ALL_OBJFILES. (forget_cached_source_info): Iterate over all program spaces. * symfile.c (clear_symtab_users): Adjust. * symmisc.c (print_symbol_bcache_statistics): Iterate over all program spaces. (print_objfile_statistics): Ditto. (maintenance_print_msymbols): Ditto. (maintenance_print_objfiles): Ditto. (maintenance_info_symtabs): Ditto. (maintenance_info_psymtabs): Ditto. * symtab.h (SYMTAB_PSPACE): New. (struct symtab_and_line) <pspace>: New field. * symtab.c (init_sal): Clear the sal's program space. (find_pc_sect_symtab): Set the sal's program space. Switch thread and space. (append_expanded_sal): Add program space argument. Iterate over all program spaces. (expand_line_sal): Iterate over all program spaces. Switch program space. * target.h (enum target_waitkind) <TARGET_WAITKIND_VFORK_DONE>: New. (struct target_ops) <to_thread_address_space>: New field. (target_thread_address_space): Define. * target.c (target_detach): Only remove breakpoints from the inferior we're detaching. (target_thread_address_space): New. * defs.h (initialize_progspace): Declare. * top.c (gdb_init): Call it. * solist.h (struct so_list) <sspace>: New field. * solib.h (struct program_space): Forward declare. (solib_name_from_address): Adjust prototype. * solib.c (so_list_head): Replace with a macro referencing the program space. (update_solib_list): Set the so's program space. (solib_name_from_address): Add a program space argument and adjust. * solib-svr4.c (struct svr4_info) <pid>: Delete field. <interp_text_sect_low, interp_text_sect_high, interp_plt_sect_low> <interp_plt_sect_high>: New fields. (svr4_info_p, svr4_info): Delete. (solib_svr4_sspace_data): New. (get_svr4_info): Rewrite. (svr4_sspace_data_cleanup): New. (open_symbol_file_object): Adjust. (svr4_default_sos): Adjust. (svr4_fetch_objfile_link_map): Adjust. (interp_text_sect_low, interp_text_sect_high, interp_plt_sect_low) (interp_plt_sect_high): Delete. (svr4_in_dynsym_resolve_code): Adjust. (enable_break): Adjust. (svr4_clear_solib): Revert bit that removed the svr4_info here, and reinstate clearing debug_base, debug_loader_offset_p, debug_loader_offset and debug_loader_name. (_initialize_svr4_solib): Register solib_svr4_pspace_data. Don't install an inferior_exit observer anymore. * printcmd.c (struct display) <pspace>: New field. (display_command): Set the display's sspace. (do_one_display): Match the display's sspace. (display_uses_solib_p): Ditto. * linux-fork.c (detach_fork): Moved to infrun.c. (_initialize_linux_fork): Moved "detach-on-fork" command to infrun.c. * infrun.c (detach_fork): Moved from linux-fork.c. (proceed_after_vfork_done): New. (handle_vfork_child_exec_or_exit): New. (follow_exec_mode_replace, follow_exec_mode_keep) (follow_exec_mode_names, follow_exec_mode_string) (show_follow_exec_mode_string): New. (follow_exec): New. Reinstate the mark_breakpoints_out call. Remove shared libraries before attaching new executable. If user wants to keep the inferior, keep it. (displaced_step_fixup): Adjust to pass an address space to the breakpoints module. (resume): Ditto. (clear_proceed_status): In all-stop mode, always clear the proceed status of all threads. (prepare_to_proceed): Adjust to pass an address space to the breakpoints module. (proceed): Ditto. (adjust_pc_after_break): Ditto. (handle_inferior_event): When handling a process exit, switch the program space to the inferior's that had exited. Call handle_vfork_child_exec_or_exit. Adjust to pass an address space to the breakpoints module. In non-stop mode, when following a fork and detach-fork is off, also resume the other branch. Handle TARGET_WAITKIND_VFORK_DONE. Set the program space in sals. (normal_stop): Prune inferiors. (_initialize_infrun): Install the new "follow-exec-mode" command. "detach-on-fork" moved here. * regcache.h (get_regcache_aspace): Declare. * regcache.c (struct regcache) <aspace>: New field. (regcache_xmalloc): Clear the aspace. (get_regcache_aspace): New. (regcache_cpy): Copy the aspace field. (regcache_cpy_no_passthrough): Ditto. (get_thread_regcache): Fetch the thread's address space from the target, and store it in the regcache. * infcall.c (call_function_by_hand): Set the sal's pspace. * arch-utils.c (default_has_shared_address_space): New. * arch-utils.h (default_has_shared_address_space): Declare. * gdbarch.sh (has_shared_address_space): New. * gdbarch.h, gdbarch.c: Regenerate. * linux-tdep.c: Include auxv.h, target.h, elf/common.h. (linux_has_shared_address_space): New. (_initialize_linux_tdep): Declare. * arm-tdep.c (arm_software_single_step): Pass the frame's address space to insert_single_step_breakpoint. * arm-linux-tdep.c (arm_linux_software_single_step): Pass the frame's pspace to breakpoint functions. * cris-tdep.c (crisv32_single_step_through_delay): Ditto. (cris_software_single_step): Ditto. * mips-tdep.c (deal_with_atomic_sequence): Add frame argument. Pass the frame's pspace to breakpoint functions. (mips_software_single_step): Adjust. (mips_single_step_through_delay): Adjust. * rs6000-aix-tdep.c (rs6000_software_single_step): Adjust. * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust. * solib-irix.c (enable_break): Adjust to pass the current frame's address space to breakpoint functions. * sparc-tdep.c (sparc_software_single_step): Ditto. * spu-tdep.c (spu_software_single_step): Ditto. * alpha-tdep.c (alpha_software_single_step): Ditto. * record.c (record_wait): Adjust to pass an address space to the breakpoints module. * fork-child.c (fork_inferior): Set the new inferior's program and address spaces. * inf-ptrace.c (inf_ptrace_follow_fork): Copy the parent's program and address spaces. (inf_ptrace_attach): Set the inferior's program and address spaces. * linux-nat.c: Include "solib.h". (linux_child_follow_fork): Manage parent and child's program and address spaces. Clone the parent's program space if necessary. Don't wait for the vfork to be done here. Refuse to resume if following the vfork parent while leaving the child stopped. (resume_callback): Don't resume a vfork parent. (linux_nat_resume): Also check for pending events in the lp->waitstatus field. (linux_handle_extended_wait): Report TARGET_WAITKIND_VFORK_DONE events to the core. (stop_wait_callback): Don't wait for SIGSTOP on vfork parents. (cancel_breakpoint): Adjust. * linux-thread-db.c (thread_db_wait): Don't remove thread event breakpoints here. (thread_db_mourn_inferior): Don't mark breakpoints out here. Remove thread event breakpoints after mourning. * corelow.c: Include progspace.h. (core_open): Set the inferior's program and address spaces. * remote.c (remote_add_inferior): Set the new inferior's program and address spaces. (remote_start_remote): Update address spaces. (extended_remote_create_inferior_1): Don't init the thread list if we already debugging other inferiors. * darwin-nat.c (darwin_attach): Set the new inferior's program and address spaces. * gnu-nat.c (gnu_attach): Ditto. * go32-nat.c (go32_create_inferior): Ditto. * inf-ttrace.c (inf_ttrace_follow_fork, inf_ttrace_attach): Ditto. * monitor.c (monitor_open): Ditto. * nto-procfs.c (procfs_attach, procfs_create_inferior): Ditto. * procfs.c (do_attach): Ditto. * windows-nat.c (do_initial_windows_stuff): Ditto. * inflow.c (inferior_process_group) (terminal_init_inferior_with_pgrp, terminal_inferior, (terminal_ours_1, inflow_inferior_exit, copy_terminal_info) (child_terminal_info, new_tty_postfork, set_sigint_trap): Adjust to use per-inferior data instead of inferior->terminal_info. (inflow_inferior_data): New. (inflow_new_inferior): Delete. (inflow_inferior_data_cleanup): New. (get_inflow_inferior_data): New. * mi/mi-interp.c (mi_new_inferior): Rename to... (mi_inferior_appeared): ... this. (mi_interpreter_init): Adjust. * tui/tui-disasm.c: Include "progspace.h". (tui_set_disassem_content): Pass an address space to breakpoint_here_p. * NEWS: Mention multi-program debugging support. Mention new commands "add-inferior", "clone-inferior", "remove-inferior", "maint info program-spaces", and new option "set follow-exec-mode". 2009-10-19 Pedro Alves <pedro@codesourcery.com> Stan Shebs <stan@codesourcery.com> gdb/doc/ * observer.texi (new_inferior): Rename to... (inferior_appeared): ... this. 2009-10-19 Pedro Alves <pedro@codesourcery.com> Stan Shebs <stan@codesourcery.com> gdb/testsuite/ * gdb.base/foll-vfork.exp: Adjust to spell out "follow-fork". * gdb.base/foll-exec.exp: Adjust to expect a process id before "Executing new program". * gdb.base/foll-fork.exp: Adjust to spell out "follow-fork". * gdb.base/multi-forks.exp: Ditto. Adjust to the inferior being left listed after having been killed. * gdb.base/attach.exp: Adjust to spell out "symbol-file". * gdb.base/maint.exp: Adjust test. * Makefile.in (ALL_SUBDIRS): Add gdb.multi. * gdb.multi/Makefile.in: New. * gdb.multi/base.exp: New. * gdb.multi/goodbye.c: New. * gdb.multi/hangout.c: New. * gdb.multi/hello.c: New. * gdb.multi/bkpt-multi-exec.c: New. * gdb.multi/bkpt-multi-exec.exp: New. * gdb.multi/crashme.c: New. 2009-10-19 Pedro Alves <pedro@codesourcery.com> Stan Shebs <stan@codesourcery.com> gdb/doc/ * gdb.texinfo (Inferiors): Rename node to ... (Inferiors and Programs): ... this. Mention running multiple programs in the same debug session. <info inferiors>: Mention the new 'Executable' column if "info inferiors". Update examples. Document the "add-inferior", "clone-inferior", "remove-inferior" and "maint info program-spaces" commands. (Process): Rename node to... (Forks): ... this. Document "set|show follow-exec-mode".
2009-10-19 17:51:43 +08:00
struct address_space *aspace = get_frame_address_space (frame);
gdb/ * breakpoint.c (deprecated_read_memory_nobpt): Update to use shadow_len. (insert_bp_location, reattach_breakpoints, remove_breakpoint) (delete_breakpoint): Update calls to changed methods. (deprecated_insert_raw_breakpoint, deprecated_remove_raw_breakpoint) (single_step_breakpoints, insert_single_step_breakpoint) (remove_single_step_breakpoints): New. * breakpoint.h (struct bp_target_info): New. (struct bp_location): Replace shadow_contents with target_info and overlay_target_info. (deprecated_insert_raw_breakpoint, deprecated_remove_raw_breakpoint) (insert_single_step_breakpoint, remove_single_step_breakpoints): New prototypes. * gdbarch.sh: Forward declare struct bp_target_info in gdbarch.h. (memory_insert_breakpoint, memory_remove_breakpoint): Update second argument. * mem-break.c (default_memory_insert_breakpoint): Update. Set placed_address, placed_size, and shadow_len. (default_memory_remove_breakpoint): Update. Don't use BREAKPOINT_FROM_PC. (memory_insert_breakpoint, memory_remove_breakpoint): Update. * target.c (update_current_target): Update prototypes for changed functions. (debug_to_insert_breakpoint, debug_to_remove_breakpoint) (debug_to_insert_hw_breakpoint, debug_to_remove_hw_breakpoint): Update. * target.h: Forward declare struct bp_target_info. (struct target_ops): Use a bp_target_info argument for to_insert_breakpoint, to_remove_breakpoint, to_insert_hw_breakpoint, and to_remove_hw_breakpoint. (target_insert_breakpoint, target_remove_breakpoint) (target_insert_hw_breakpoint, target_remove_hw_breakpoint) (memory_insert_breakpoint, memory_remove_breakpoint) (default_memory_insert_breakpoint, default_memory_remove_breakpoint): Update. * config/i386/nm-i386.h: Forward declare struct bp_target_info. (i386_insert_hw_breakpoint, i386_remove_hw_breakpoint): Update. (target_insert_hw_breakpoint, target_remove_hw_breakpoint): Likewise. * gdbarch.c, gdbarch.h: Regenerated. * alpha-tdep.c (alpha_software_single_step): Use insert_single_step_breakpoint and remove_single_step_breakpoints. Remove unused statics. * arm-tdep.c (arm_software_single_step): Likewise. Add a note. * cris-tdep.c (cris_software_single_step): Likewise. * mips-tdep.c (mips_software_single_step): Likewise. * rs6000-tdep.c (rs6000_software_single_step): Likewise. * sparc-tdep.c (sparc_software_single_step): Likewise. * wince.c (struct thread_info_struct): Remove step_prev. (undoSStep): Use remove_single_step_breakpoints. (wince_software_single_step): Use insert_single_step_breakpoint. * corelow.c (ignore): Remove unneeded prototype. Update arguments. * exec.c (ignore): Likewise. * sol-thread.c (ignore): Likewise. * procfs.c (dbx_link_shadow_contents): Delete. (dbx_link_bpt): New. (procfs_mourn_inferior): Remove it if necessary. (remove_dbx_link_breakpoint): Use it. (insert_dbx_link_bpt_in_file): Set it. (procfs_init_inferior): Don't update dbx_link_bpt_addr. * rs6000-nat.c (exec_one_dummy_insn): Use deprecated_insert_raw_breakpoint and deprecated_remove_raw_breakpoint. * solib-irix.c (shadow_contents, breakpoint_addr): Delete. (base_breakpoint): New. (disable_break): Use it. (enable_break): Set it. * i386-nat.c (i386_insert_hw_breakpoint, i386_remove_hw_breakpoint): Update. * ia64-tdep.c (ia64_memory_insert_breakpoint) (ia64_memory_remove_breakpoint): Likewise. * m32r-tdep.c (m32r_memory_insert_breakpoint) (m32r_memory_remove_breakpoint): Likewise. * monitor.c (monitor_insert_breakpoint, monitor_remove_breakpoint): Likewise. Remove unnecessary prototypes. Use placed_address and placed_size. Removed useless read from memory. * nto-procfs.c (procfs_insert_breakpoint) (procfs_remove_breakpoint, procfs_insert_hw_breakpoint) (procfs_remove_hw_breakpoint): Update. * ocd.c (ocd_insert_breakpoint, ocd_remove_breakpoint): Likewise. * ocd.h (ocd_insert_breakpoint, ocd_remove_breakpoint): Likewise. * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Likewise. * ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Likewise. * remote-e7000.c (e7000_insert_breakpoint) (e7000_remove_breakpoint): Likewise. * remote-m32r-sdi.c (m32r_insert_breakpoint) (m32r_remove_breakpoint): Likewise. * remote-mips.c (mips_insert_breakpoint) (mips_remove_breakpoint): Likewise. * remote-rdp.c (remote_rdp_insert_breakpoint) (remote_rdp_remove_breakpoint): Likewise. (rdp_step): Use deprecated_insert_raw_breakpoint and deprecated_remove_raw_breakpoint. * remote-sds.c (sds_insert_breakpoint, sds_remove_breakpoint): Update. * remote-sim.c (gdbsim_insert_breakpoint, gdbsim_remove_breakpoint): Delete. (init_gdbsim_ops): Use memory_insert_breakpoint and memory_remove_breakpoint. * remote-st.c (st2000_insert_breakpoint) (st2000_remove_breakpoint): Update. Remove unused BREAKPOINT_FROM_PC. * remote.c (remote_insert_breakpoint, remote_remove_breakpoint): Update. Use placed_address and placed_size. (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint): Likewise. gdb/doc/ * gdbint.texinfo (x86 Watchpoints, Target Conditionals): Update insert and remove breakpoint prototypes. (Watchpoints): Move description of target_insert_hw_breakpoint and target_remove_hw_breakpoint ... (Breakpoints): ... to here. Document target_insert_breakpoint and target_remove_breakpoint.
2006-04-19 03:20:08 +08:00
CORE_ADDR npc, nnpc;
CORE_ADDR pc, orig_npc;
* gdbarch.sh (software_single_step): Replace REGCACHE argument by FRAME argument. * gdbarch.c, gdbarch.h: Regenerate. * infrun.c (resume): Pass current frame to SOFTWARE_SINGLE_STEP. * alpha-tdep.c (alpha_next_pc): Add FRAME argument. Retrieve registers from FRAME instead of using read_register. (alpha_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to alpha_next_pc. Use get_frame_pc instead of read_pc. * alpha-tdep.h (alpha_software_single_step): Replace REGCACHE argument by FRAME. * arm-tdep.c (shifted_reg_val): Add FRAME argument. Read registers from FRAME instead of using read_register. (thumb_get_next_pc): Likewise. (arm_get_next_pc): Likewise. (arm_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to arm_get_next_pc. Use get_frame_pc instead of read_register. * arm-tdep.h (arm_software_single_step): Replace REGCACHE argument by FRAME. * cris-tdep.c (find_step_target): Add FRAME argument. Read registers from FRAME instead of using read_register. (cris_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to find_step_target. * mips-tdep.c (mips32_next_pc): Add FRAME argument. Read registers from FRAME instead of using read_register / read_signed_register. (extended_mips16_next_pc): Likewise. (mips16_next_pc): Likewise. (mips_next_pc): Likewise. (mips_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to mips_next_pc. Use get_frame_pc instead of read_pc. * mips-tdep.h (mips_software_single_step): Replace REGCACHE argument by FRAME. * rs6000-tdep.c (branch_dest): Add FRAME argument. Use it instead of current frame. Read registers from FRAME. (deal_with_atomic_sequence): Add FRAME argument. Pass it to branch_dest. Use get_frame_pc instead of read_pc. (rs6000_software_single_step): Likewise. (bl_to_blrl_insn_p): Do not call branch_dest. * rs6000-tdep.h (rs6000_software_single_step): Replace REGCACHE argument by FRAME. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Add FRAME argument. Read registers from FRAME instead of current regcache. * sparc-linux-tdep.c (sparc32_linux_step_trap): Likewise. * sparcnbsd-tdep.c (sparcnbsd_step_trap): Likewise. * sparc-tdep.c (sparc_address_from_register): Remove. (sparc_analyze_control_transfer): Pass FRAME argument instead of GDBARCH. Pass FRAME to step_trap callback. (sparc_step_trap): Add FRAME argument. (space_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to sparc_analyze_control_transfer. Read registers from FRAME instead of calling sparc_address_from_register. * sparc-tdep.h (struct gdbarch_tdep): Add FRAME argument to step_trap callback. (sparc_address_from_register): Remove prototype. (sparc_software_single_step): Replace REGCACHE argument by FRAME. (sparcnbsd_step_trap): Add FRAME argument. * spu-tdep.c (spu_software_single_step): Replace REGCACHE argument by FRAME. Read registers from FRAME instead of REGCACHE.
2007-06-16 06:37:35 +08:00
pc = get_frame_register_unsigned (frame, tdep->pc_regnum);
orig_npc = npc = get_frame_register_unsigned (frame, tdep->npc_regnum);
/* Analyze the instruction at PC. */
* gdbarch.sh (software_single_step): Replace REGCACHE argument by FRAME argument. * gdbarch.c, gdbarch.h: Regenerate. * infrun.c (resume): Pass current frame to SOFTWARE_SINGLE_STEP. * alpha-tdep.c (alpha_next_pc): Add FRAME argument. Retrieve registers from FRAME instead of using read_register. (alpha_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to alpha_next_pc. Use get_frame_pc instead of read_pc. * alpha-tdep.h (alpha_software_single_step): Replace REGCACHE argument by FRAME. * arm-tdep.c (shifted_reg_val): Add FRAME argument. Read registers from FRAME instead of using read_register. (thumb_get_next_pc): Likewise. (arm_get_next_pc): Likewise. (arm_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to arm_get_next_pc. Use get_frame_pc instead of read_register. * arm-tdep.h (arm_software_single_step): Replace REGCACHE argument by FRAME. * cris-tdep.c (find_step_target): Add FRAME argument. Read registers from FRAME instead of using read_register. (cris_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to find_step_target. * mips-tdep.c (mips32_next_pc): Add FRAME argument. Read registers from FRAME instead of using read_register / read_signed_register. (extended_mips16_next_pc): Likewise. (mips16_next_pc): Likewise. (mips_next_pc): Likewise. (mips_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to mips_next_pc. Use get_frame_pc instead of read_pc. * mips-tdep.h (mips_software_single_step): Replace REGCACHE argument by FRAME. * rs6000-tdep.c (branch_dest): Add FRAME argument. Use it instead of current frame. Read registers from FRAME. (deal_with_atomic_sequence): Add FRAME argument. Pass it to branch_dest. Use get_frame_pc instead of read_pc. (rs6000_software_single_step): Likewise. (bl_to_blrl_insn_p): Do not call branch_dest. * rs6000-tdep.h (rs6000_software_single_step): Replace REGCACHE argument by FRAME. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Add FRAME argument. Read registers from FRAME instead of current regcache. * sparc-linux-tdep.c (sparc32_linux_step_trap): Likewise. * sparcnbsd-tdep.c (sparcnbsd_step_trap): Likewise. * sparc-tdep.c (sparc_address_from_register): Remove. (sparc_analyze_control_transfer): Pass FRAME argument instead of GDBARCH. Pass FRAME to step_trap callback. (sparc_step_trap): Add FRAME argument. (space_software_single_step): Replace REGCACHE by FRAME. Pass FRAME to sparc_analyze_control_transfer. Read registers from FRAME instead of calling sparc_address_from_register. * sparc-tdep.h (struct gdbarch_tdep): Add FRAME argument to step_trap callback. (sparc_address_from_register): Remove prototype. (sparc_software_single_step): Replace REGCACHE argument by FRAME. (sparcnbsd_step_trap): Add FRAME argument. * spu-tdep.c (spu_software_single_step): Replace REGCACHE argument by FRAME. Read registers from FRAME instead of REGCACHE.
2007-06-16 06:37:35 +08:00
nnpc = sparc_analyze_control_transfer (frame, pc, &npc);
if (npc != 0)
2009-10-19 Pedro Alves <pedro@codesourcery.com> Stan Shebs <stan@codesourcery.com> Add base multi-executable/process support to GDB. gdb/ * Makefile.in (SFILES): Add progspace.c. (COMMON_OBS): Add progspace.o. * progspace.h: New. * progspace.c: New. * breakpoint.h (struct bp_target_info) <placed_address_space>: New field. (struct bp_location) <pspace>: New field. (struct breakpoint) <pspace>: New field. (bpstat_stop_status, breakpoint_here_p) (moribund_breakpoint_here_p, breakpoint_inserted_here_p) (regular_breakpoint_inserted_here_p) (software_breakpoint_inserted_here_p, breakpoint_thread_match) (set_default_breakpoint): Adjust prototypes. (remove_breakpoints_pid, breakpoint_program_space_exit): Declare. (insert_single_step_breakpoint, deprecated_insert_raw_breakpoint): Adjust prototypes. * breakpoint.c (executing_startup): Delete. (default_breakpoint_sspace): New. (breakpoint_restore_shadows): Skip if the address space doesn't match. (update_watchpoint): Record the frame's program space in the breakpoint location. (insert_bp_location): Record the address space in target_info. Adjust to pass the symbol space to solib_name_from_address. (breakpoint_program_space_exit): New. (insert_breakpoint_locations): Switch the symbol space and thread when inserting breakpoints. Don't insert breakpoints in a vfork parent waiting for vfork done if we're not attached to the vfork child. (remove_breakpoints_pid): New. (reattach_breakpoints): Switch to a thread of PID. Ignore breakpoints of other symbol spaces. (create_internal_breakpoint): Store the symbol space in the sal. (create_longjmp_master_breakpoint): Iterate over all symbol spaces. (update_breakpoints_after_exec): Ignore breakpoints for other symbol spaces. (remove_breakpoint): Rename to ... (remove_breakpoint_1): ... this. Pass the breakpoints symbol space to solib_name_from_address. (remove_breakpoint): New. (mark_breakpoints_out): Ignore breakpoints from other symbol spaces. (breakpoint_init_inferior): Ditto. (breakpoint_here_p): Add an address space argument and adjust to use breakpoint_address_match. (moribund_breakpoint_here_p): Ditto. (regular_breakpoint_inserted_here_p): Ditto. (breakpoint_inserted_here_p): Ditto. (software_breakpoint_inserted_here_p): Ditto. (breakpoint_thread_match): Ditto. (bpstat_check_location): Ditto. (bpstat_stop_status): Ditto. (print_breakpoint_location): If there's a location to print, switch the current symbol space. (print_one_breakpoint_location): Add `allflag' argument. (print_one_breakpoint): Ditto. Adjust. (do_captured_breakpoint_query): Adjust. (breakpoint_1): Adjust. (breakpoint_has_pc): Also match the symbol space. (describe_other_breakpoints): Add a symbol space argument and adjust. (set_default_breakpoint): Add a symbol space argument. Set default_breakpoint_sspace. (breakpoint_address_match): New. (check_duplicates_for): Add an address space argument, and adjust. (set_raw_breakpoint): Record the symbol space in the location and in the breakpoint. (set_longjmp_breakpoint): Skip longjmp master breakpoints from other symbol spaces. (remove_thread_event_breakpoints, remove_solib_event_breakpoints) (disable_breakpoints_in_shlibs): Skip breakpoints from other symbol spaces. (disable_breakpoints_in_unloaded_shlib): Match symbol spaces. (create_catchpoint): Set the symbol space in the sal. (disable_breakpoints_before_startup): Skip breakpoints from other symbol spaces. Set executing_startup in the current symbol space. (enable_breakpoints_after_startup): Clear executing_startup in the current symbol space. Skip breakpoints from other symbol spaces. (clone_momentary_breakpoint): Also copy the symbol space. (add_location_to_breakpoint): Set the location's symbol space. (bp_loc_is_permanent): Switch thread and symbol space. (create_breakpoint): Adjust. (expand_line_sal_maybe): Expand comment to mention symbol spaces. Switch thread and symbol space when reading memory. (parse_breakpoint_sals): Set the symbol space in the sal. (break_command_really): Ditto. (skip_prologue_sal): Switch and space. (resolve_sal_pc): Ditto. (watch_command_1): Record the symbol space in the sal. (create_ada_exception_breakpoint): Adjust. (clear_command): Adjust. Match symbol spaces. (update_global_location_list): Use breakpoint_address_match. (breakpoint_re_set_one): Switch thread and space. (breakpoint_re_set): Save symbol space. (breakpoint_re_set_thread): Also reset the symbol space. (deprecated_insert_raw_breakpoint): Add an address space argument. Adjust. (insert_single_step_breakpoint): Ditto. (single_step_breakpoint_inserted_here_p): Ditto. (clear_syscall_counts): New. (_initialize_breakpoint): Install it as inferior_exit observer. * exec.h: Include "progspace.h". (exec_bfd, exec_bfd_mtime): New defines. (exec_close): Declare. * exec.c: Include "gdbthread.h" and "progspace.h". (exec_bfd, exec_bfd_mtime, current_target_sections_1): Delete. (using_exec_ops): New. (exec_close_1): Rename to exec_close, and make public. (exec_close): Rename to exec_close_1, and adjust all callers. Add description. Remove target sections and close executables from all program spaces. (exec_file_attach): Add comment. (add_target_sections): Check on `using_exec_ops' to check if the target should be pushed. (remove_target_sections): Only unpush the target if there are no more target sections in any symbol space. * gdbcore.h: Include "exec.h". (exec_bfd, exec_bfd_mtime): Remove declarations. * frame.h (get_frame_program_space, get_frame_address_space) (frame_unwind_program_space): Declare. * frame.c (struct frame_info) <pspace, aspace>: New fields. (create_sentinel_frame): Add program space argument. Set the pspace and aspace fields of the frame object. (get_current_frame, create_new_frame): Adjust. (get_frame_program_space): New. (frame_unwind_program_space): New. (get_frame_address_space): New. * stack.c (print_frame_info): Adjust. (print_frame): Use the frame's program space. * gdbthread.h (any_live_thread_of_process): Declare. * thread.c (any_live_thread_of_process): New. (switch_to_thread): Switch the program space as well. (restore_selected_frame): Don't warn if trying to restore frame level 0. * inferior.h: Include "progspace.h". (detach_fork): Declare. (struct inferior) <removable, aspace, pspace> <vfork_parent, vfork_child, pending_detach> <waiting_for_vfork_done>: New fields. <terminal_info>: Remove field. <data, num_data>: New fields. (register_inferior_data, register_inferior_data_with_cleanup) (clear_inferior_data, set_inferior_data, inferior_data): Declare. (exit_inferior, exit_inferior_silent, exit_inferior_num_silent) (inferior_appeared): Declare. (find_inferior_pid): Typo. (find_inferior_id, find_inferior_for_program_space): Declare. (set_current_inferior, save_current_inferior, prune_inferiors) (number_of_inferiors): Declare. (inferior_list): Declare. * inferior.c: Include "gdbcore.h" and "symfile.h". (inferior_list): Make public. (delete_inferior_1): Always delete thread silently. (find_inferior_id): Make public. (current_inferior_): New. (current_inferior): Use it. (set_current_inferior): New. (restore_inferior): New. (save_current_inferior): New. (free_inferior): Free the per-inferior data. (add_inferior_silent): Allocate per-inferior data. Call inferior_appeared. (delete_threads_of_inferior): New. (delete_inferior_1): Adjust interface to take an inferior pointer. (delete_inferior): Adjust. (delete_inferior_silent): Adjust. (exit_inferior_1): New. (exit_inferior): New. (exit_inferior_silent): New. (exit_inferior_num_silent): New. (detach_inferior): Adjust. (inferior_appeared): New. (discard_all_inferiors): Adjust. (find_inferior_id): Make public. Assert pid is not zero. (find_inferior_for_program_space): New. (have_inferiors): Check if we have any inferior with pid not zero. (have_live_inferiors): Go over all pushed targets looking for process_stratum. (prune_inferiors): New. (number_of_inferiors): New. (print_inferior): Add executable column. Print vfork parent/child relationships. (inferior_command): Adjust to cope with not running inferiors. (remove_inferior_command): New. (add_inferior_command): New. (clone_inferior_command): New. (struct inferior_data): New. (struct inferior_data_registration): New. (struct inferior_data_registry): New. (inferior_data_registry): New. (register_inferior_data_with_cleanup): New. (register_inferior_data): New. (inferior_alloc_data): New. (inferior_free_data): New. (clear_inferior_data): New. (set_inferior_data): New. (inferior_data): New. (initialize_inferiors): New. (_initialize_inferiors): Register "add-inferior", "remove-inferior" and "clone-inferior" commands. * objfiles.h: Include "progspace.h". (struct objfile) <pspace>: New field. (symfile_objfile, object_files): Don't declare. (ALL_PSPACE_OBJFILES): New. (ALL_PSPACE_OBJFILES_SAFE): New. (ALL_OBJFILES, ALL_OBJFILES_SAFE): Adjust. (ALL_PSPACE_SYMTABS): New. (ALL_PRIMARY_SYMTABS): Adjust. (ALL_PSPACE_PRIMARY_SYMTABS): New. (ALL_PSYMTABS): Adjust. (ALL_PSPACE_PSYMTABS): New. * objfiles.c (object_files, symfile_objfile): Delete. (struct objfile_sspace_info): New. (objfiles_pspace_data): New. (objfiles_pspace_data_cleanup): New. (get_objfile_pspace_data): New. (objfiles_changed_p): Delete. (allocate_objfile): Set the objfile's program space. Adjust to reference objfiles_changed_p in pspace data. (free_objfile): Adjust to reference objfiles_changed_p in pspace data. (objfile_relocate): Ditto. (update_section_map): Add pspace argument. Adjust to iterate over objfiles in the passed in pspace. (find_pc_section): Delete sections and num_sections statics. Adjust to refer to program space's objfiles_changed_p. Adjust to refer to sections and num_sections store in the objfile's pspace data. (objfiles_changed): Adjust to reference objfiles_changed_p in pspace data. (_initialize_objfiles): New. * linespec.c (decode_all_digits, decode_dollar): Set the sal's program space. * source.c (current_source_pspace): New. (get_current_source_symtab_and_line): Set the sal's program space. (set_current_source_symtab_and_line): Set current_source_pspace. (select_source_symtab): Ditto. Use ALL_OBJFILES. (forget_cached_source_info): Iterate over all program spaces. * symfile.c (clear_symtab_users): Adjust. * symmisc.c (print_symbol_bcache_statistics): Iterate over all program spaces. (print_objfile_statistics): Ditto. (maintenance_print_msymbols): Ditto. (maintenance_print_objfiles): Ditto. (maintenance_info_symtabs): Ditto. (maintenance_info_psymtabs): Ditto. * symtab.h (SYMTAB_PSPACE): New. (struct symtab_and_line) <pspace>: New field. * symtab.c (init_sal): Clear the sal's program space. (find_pc_sect_symtab): Set the sal's program space. Switch thread and space. (append_expanded_sal): Add program space argument. Iterate over all program spaces. (expand_line_sal): Iterate over all program spaces. Switch program space. * target.h (enum target_waitkind) <TARGET_WAITKIND_VFORK_DONE>: New. (struct target_ops) <to_thread_address_space>: New field. (target_thread_address_space): Define. * target.c (target_detach): Only remove breakpoints from the inferior we're detaching. (target_thread_address_space): New. * defs.h (initialize_progspace): Declare. * top.c (gdb_init): Call it. * solist.h (struct so_list) <sspace>: New field. * solib.h (struct program_space): Forward declare. (solib_name_from_address): Adjust prototype. * solib.c (so_list_head): Replace with a macro referencing the program space. (update_solib_list): Set the so's program space. (solib_name_from_address): Add a program space argument and adjust. * solib-svr4.c (struct svr4_info) <pid>: Delete field. <interp_text_sect_low, interp_text_sect_high, interp_plt_sect_low> <interp_plt_sect_high>: New fields. (svr4_info_p, svr4_info): Delete. (solib_svr4_sspace_data): New. (get_svr4_info): Rewrite. (svr4_sspace_data_cleanup): New. (open_symbol_file_object): Adjust. (svr4_default_sos): Adjust. (svr4_fetch_objfile_link_map): Adjust. (interp_text_sect_low, interp_text_sect_high, interp_plt_sect_low) (interp_plt_sect_high): Delete. (svr4_in_dynsym_resolve_code): Adjust. (enable_break): Adjust. (svr4_clear_solib): Revert bit that removed the svr4_info here, and reinstate clearing debug_base, debug_loader_offset_p, debug_loader_offset and debug_loader_name. (_initialize_svr4_solib): Register solib_svr4_pspace_data. Don't install an inferior_exit observer anymore. * printcmd.c (struct display) <pspace>: New field. (display_command): Set the display's sspace. (do_one_display): Match the display's sspace. (display_uses_solib_p): Ditto. * linux-fork.c (detach_fork): Moved to infrun.c. (_initialize_linux_fork): Moved "detach-on-fork" command to infrun.c. * infrun.c (detach_fork): Moved from linux-fork.c. (proceed_after_vfork_done): New. (handle_vfork_child_exec_or_exit): New. (follow_exec_mode_replace, follow_exec_mode_keep) (follow_exec_mode_names, follow_exec_mode_string) (show_follow_exec_mode_string): New. (follow_exec): New. Reinstate the mark_breakpoints_out call. Remove shared libraries before attaching new executable. If user wants to keep the inferior, keep it. (displaced_step_fixup): Adjust to pass an address space to the breakpoints module. (resume): Ditto. (clear_proceed_status): In all-stop mode, always clear the proceed status of all threads. (prepare_to_proceed): Adjust to pass an address space to the breakpoints module. (proceed): Ditto. (adjust_pc_after_break): Ditto. (handle_inferior_event): When handling a process exit, switch the program space to the inferior's that had exited. Call handle_vfork_child_exec_or_exit. Adjust to pass an address space to the breakpoints module. In non-stop mode, when following a fork and detach-fork is off, also resume the other branch. Handle TARGET_WAITKIND_VFORK_DONE. Set the program space in sals. (normal_stop): Prune inferiors. (_initialize_infrun): Install the new "follow-exec-mode" command. "detach-on-fork" moved here. * regcache.h (get_regcache_aspace): Declare. * regcache.c (struct regcache) <aspace>: New field. (regcache_xmalloc): Clear the aspace. (get_regcache_aspace): New. (regcache_cpy): Copy the aspace field. (regcache_cpy_no_passthrough): Ditto. (get_thread_regcache): Fetch the thread's address space from the target, and store it in the regcache. * infcall.c (call_function_by_hand): Set the sal's pspace. * arch-utils.c (default_has_shared_address_space): New. * arch-utils.h (default_has_shared_address_space): Declare. * gdbarch.sh (has_shared_address_space): New. * gdbarch.h, gdbarch.c: Regenerate. * linux-tdep.c: Include auxv.h, target.h, elf/common.h. (linux_has_shared_address_space): New. (_initialize_linux_tdep): Declare. * arm-tdep.c (arm_software_single_step): Pass the frame's address space to insert_single_step_breakpoint. * arm-linux-tdep.c (arm_linux_software_single_step): Pass the frame's pspace to breakpoint functions. * cris-tdep.c (crisv32_single_step_through_delay): Ditto. (cris_software_single_step): Ditto. * mips-tdep.c (deal_with_atomic_sequence): Add frame argument. Pass the frame's pspace to breakpoint functions. (mips_software_single_step): Adjust. (mips_single_step_through_delay): Adjust. * rs6000-aix-tdep.c (rs6000_software_single_step): Adjust. * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust. * solib-irix.c (enable_break): Adjust to pass the current frame's address space to breakpoint functions. * sparc-tdep.c (sparc_software_single_step): Ditto. * spu-tdep.c (spu_software_single_step): Ditto. * alpha-tdep.c (alpha_software_single_step): Ditto. * record.c (record_wait): Adjust to pass an address space to the breakpoints module. * fork-child.c (fork_inferior): Set the new inferior's program and address spaces. * inf-ptrace.c (inf_ptrace_follow_fork): Copy the parent's program and address spaces. (inf_ptrace_attach): Set the inferior's program and address spaces. * linux-nat.c: Include "solib.h". (linux_child_follow_fork): Manage parent and child's program and address spaces. Clone the parent's program space if necessary. Don't wait for the vfork to be done here. Refuse to resume if following the vfork parent while leaving the child stopped. (resume_callback): Don't resume a vfork parent. (linux_nat_resume): Also check for pending events in the lp->waitstatus field. (linux_handle_extended_wait): Report TARGET_WAITKIND_VFORK_DONE events to the core. (stop_wait_callback): Don't wait for SIGSTOP on vfork parents. (cancel_breakpoint): Adjust. * linux-thread-db.c (thread_db_wait): Don't remove thread event breakpoints here. (thread_db_mourn_inferior): Don't mark breakpoints out here. Remove thread event breakpoints after mourning. * corelow.c: Include progspace.h. (core_open): Set the inferior's program and address spaces. * remote.c (remote_add_inferior): Set the new inferior's program and address spaces. (remote_start_remote): Update address spaces. (extended_remote_create_inferior_1): Don't init the thread list if we already debugging other inferiors. * darwin-nat.c (darwin_attach): Set the new inferior's program and address spaces. * gnu-nat.c (gnu_attach): Ditto. * go32-nat.c (go32_create_inferior): Ditto. * inf-ttrace.c (inf_ttrace_follow_fork, inf_ttrace_attach): Ditto. * monitor.c (monitor_open): Ditto. * nto-procfs.c (procfs_attach, procfs_create_inferior): Ditto. * procfs.c (do_attach): Ditto. * windows-nat.c (do_initial_windows_stuff): Ditto. * inflow.c (inferior_process_group) (terminal_init_inferior_with_pgrp, terminal_inferior, (terminal_ours_1, inflow_inferior_exit, copy_terminal_info) (child_terminal_info, new_tty_postfork, set_sigint_trap): Adjust to use per-inferior data instead of inferior->terminal_info. (inflow_inferior_data): New. (inflow_new_inferior): Delete. (inflow_inferior_data_cleanup): New. (get_inflow_inferior_data): New. * mi/mi-interp.c (mi_new_inferior): Rename to... (mi_inferior_appeared): ... this. (mi_interpreter_init): Adjust. * tui/tui-disasm.c: Include "progspace.h". (tui_set_disassem_content): Pass an address space to breakpoint_here_p. * NEWS: Mention multi-program debugging support. Mention new commands "add-inferior", "clone-inferior", "remove-inferior", "maint info program-spaces", and new option "set follow-exec-mode". 2009-10-19 Pedro Alves <pedro@codesourcery.com> Stan Shebs <stan@codesourcery.com> gdb/doc/ * observer.texi (new_inferior): Rename to... (inferior_appeared): ... this. 2009-10-19 Pedro Alves <pedro@codesourcery.com> Stan Shebs <stan@codesourcery.com> gdb/testsuite/ * gdb.base/foll-vfork.exp: Adjust to spell out "follow-fork". * gdb.base/foll-exec.exp: Adjust to expect a process id before "Executing new program". * gdb.base/foll-fork.exp: Adjust to spell out "follow-fork". * gdb.base/multi-forks.exp: Ditto. Adjust to the inferior being left listed after having been killed. * gdb.base/attach.exp: Adjust to spell out "symbol-file". * gdb.base/maint.exp: Adjust test. * Makefile.in (ALL_SUBDIRS): Add gdb.multi. * gdb.multi/Makefile.in: New. * gdb.multi/base.exp: New. * gdb.multi/goodbye.c: New. * gdb.multi/hangout.c: New. * gdb.multi/hello.c: New. * gdb.multi/bkpt-multi-exec.c: New. * gdb.multi/bkpt-multi-exec.exp: New. * gdb.multi/crashme.c: New. 2009-10-19 Pedro Alves <pedro@codesourcery.com> Stan Shebs <stan@codesourcery.com> gdb/doc/ * gdb.texinfo (Inferiors): Rename node to ... (Inferiors and Programs): ... this. Mention running multiple programs in the same debug session. <info inferiors>: Mention the new 'Executable' column if "info inferiors". Update examples. Document the "add-inferior", "clone-inferior", "remove-inferior" and "maint info program-spaces" commands. (Process): Rename node to... (Forks): ... this. Document "set|show follow-exec-mode".
2009-10-19 17:51:43 +08:00
insert_single_step_breakpoint (arch, aspace, npc);
gdb/ * breakpoint.c (deprecated_read_memory_nobpt): Update to use shadow_len. (insert_bp_location, reattach_breakpoints, remove_breakpoint) (delete_breakpoint): Update calls to changed methods. (deprecated_insert_raw_breakpoint, deprecated_remove_raw_breakpoint) (single_step_breakpoints, insert_single_step_breakpoint) (remove_single_step_breakpoints): New. * breakpoint.h (struct bp_target_info): New. (struct bp_location): Replace shadow_contents with target_info and overlay_target_info. (deprecated_insert_raw_breakpoint, deprecated_remove_raw_breakpoint) (insert_single_step_breakpoint, remove_single_step_breakpoints): New prototypes. * gdbarch.sh: Forward declare struct bp_target_info in gdbarch.h. (memory_insert_breakpoint, memory_remove_breakpoint): Update second argument. * mem-break.c (default_memory_insert_breakpoint): Update. Set placed_address, placed_size, and shadow_len. (default_memory_remove_breakpoint): Update. Don't use BREAKPOINT_FROM_PC. (memory_insert_breakpoint, memory_remove_breakpoint): Update. * target.c (update_current_target): Update prototypes for changed functions. (debug_to_insert_breakpoint, debug_to_remove_breakpoint) (debug_to_insert_hw_breakpoint, debug_to_remove_hw_breakpoint): Update. * target.h: Forward declare struct bp_target_info. (struct target_ops): Use a bp_target_info argument for to_insert_breakpoint, to_remove_breakpoint, to_insert_hw_breakpoint, and to_remove_hw_breakpoint. (target_insert_breakpoint, target_remove_breakpoint) (target_insert_hw_breakpoint, target_remove_hw_breakpoint) (memory_insert_breakpoint, memory_remove_breakpoint) (default_memory_insert_breakpoint, default_memory_remove_breakpoint): Update. * config/i386/nm-i386.h: Forward declare struct bp_target_info. (i386_insert_hw_breakpoint, i386_remove_hw_breakpoint): Update. (target_insert_hw_breakpoint, target_remove_hw_breakpoint): Likewise. * gdbarch.c, gdbarch.h: Regenerated. * alpha-tdep.c (alpha_software_single_step): Use insert_single_step_breakpoint and remove_single_step_breakpoints. Remove unused statics. * arm-tdep.c (arm_software_single_step): Likewise. Add a note. * cris-tdep.c (cris_software_single_step): Likewise. * mips-tdep.c (mips_software_single_step): Likewise. * rs6000-tdep.c (rs6000_software_single_step): Likewise. * sparc-tdep.c (sparc_software_single_step): Likewise. * wince.c (struct thread_info_struct): Remove step_prev. (undoSStep): Use remove_single_step_breakpoints. (wince_software_single_step): Use insert_single_step_breakpoint. * corelow.c (ignore): Remove unneeded prototype. Update arguments. * exec.c (ignore): Likewise. * sol-thread.c (ignore): Likewise. * procfs.c (dbx_link_shadow_contents): Delete. (dbx_link_bpt): New. (procfs_mourn_inferior): Remove it if necessary. (remove_dbx_link_breakpoint): Use it. (insert_dbx_link_bpt_in_file): Set it. (procfs_init_inferior): Don't update dbx_link_bpt_addr. * rs6000-nat.c (exec_one_dummy_insn): Use deprecated_insert_raw_breakpoint and deprecated_remove_raw_breakpoint. * solib-irix.c (shadow_contents, breakpoint_addr): Delete. (base_breakpoint): New. (disable_break): Use it. (enable_break): Set it. * i386-nat.c (i386_insert_hw_breakpoint, i386_remove_hw_breakpoint): Update. * ia64-tdep.c (ia64_memory_insert_breakpoint) (ia64_memory_remove_breakpoint): Likewise. * m32r-tdep.c (m32r_memory_insert_breakpoint) (m32r_memory_remove_breakpoint): Likewise. * monitor.c (monitor_insert_breakpoint, monitor_remove_breakpoint): Likewise. Remove unnecessary prototypes. Use placed_address and placed_size. Removed useless read from memory. * nto-procfs.c (procfs_insert_breakpoint) (procfs_remove_breakpoint, procfs_insert_hw_breakpoint) (procfs_remove_hw_breakpoint): Update. * ocd.c (ocd_insert_breakpoint, ocd_remove_breakpoint): Likewise. * ocd.h (ocd_insert_breakpoint, ocd_remove_breakpoint): Likewise. * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Likewise. * ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Likewise. * remote-e7000.c (e7000_insert_breakpoint) (e7000_remove_breakpoint): Likewise. * remote-m32r-sdi.c (m32r_insert_breakpoint) (m32r_remove_breakpoint): Likewise. * remote-mips.c (mips_insert_breakpoint) (mips_remove_breakpoint): Likewise. * remote-rdp.c (remote_rdp_insert_breakpoint) (remote_rdp_remove_breakpoint): Likewise. (rdp_step): Use deprecated_insert_raw_breakpoint and deprecated_remove_raw_breakpoint. * remote-sds.c (sds_insert_breakpoint, sds_remove_breakpoint): Update. * remote-sim.c (gdbsim_insert_breakpoint, gdbsim_remove_breakpoint): Delete. (init_gdbsim_ops): Use memory_insert_breakpoint and memory_remove_breakpoint. * remote-st.c (st2000_insert_breakpoint) (st2000_remove_breakpoint): Update. Remove unused BREAKPOINT_FROM_PC. * remote.c (remote_insert_breakpoint, remote_remove_breakpoint): Update. Use placed_address and placed_size. (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint): Likewise. gdb/doc/ * gdbint.texinfo (x86 Watchpoints, Target Conditionals): Update insert and remove breakpoint prototypes. (Watchpoints): Move description of target_insert_hw_breakpoint and target_remove_hw_breakpoint ... (Breakpoints): ... to here. Document target_insert_breakpoint and target_remove_breakpoint.
2006-04-19 03:20:08 +08:00
if (nnpc != 0)
2009-10-19 Pedro Alves <pedro@codesourcery.com> Stan Shebs <stan@codesourcery.com> Add base multi-executable/process support to GDB. gdb/ * Makefile.in (SFILES): Add progspace.c. (COMMON_OBS): Add progspace.o. * progspace.h: New. * progspace.c: New. * breakpoint.h (struct bp_target_info) <placed_address_space>: New field. (struct bp_location) <pspace>: New field. (struct breakpoint) <pspace>: New field. (bpstat_stop_status, breakpoint_here_p) (moribund_breakpoint_here_p, breakpoint_inserted_here_p) (regular_breakpoint_inserted_here_p) (software_breakpoint_inserted_here_p, breakpoint_thread_match) (set_default_breakpoint): Adjust prototypes. (remove_breakpoints_pid, breakpoint_program_space_exit): Declare. (insert_single_step_breakpoint, deprecated_insert_raw_breakpoint): Adjust prototypes. * breakpoint.c (executing_startup): Delete. (default_breakpoint_sspace): New. (breakpoint_restore_shadows): Skip if the address space doesn't match. (update_watchpoint): Record the frame's program space in the breakpoint location. (insert_bp_location): Record the address space in target_info. Adjust to pass the symbol space to solib_name_from_address. (breakpoint_program_space_exit): New. (insert_breakpoint_locations): Switch the symbol space and thread when inserting breakpoints. Don't insert breakpoints in a vfork parent waiting for vfork done if we're not attached to the vfork child. (remove_breakpoints_pid): New. (reattach_breakpoints): Switch to a thread of PID. Ignore breakpoints of other symbol spaces. (create_internal_breakpoint): Store the symbol space in the sal. (create_longjmp_master_breakpoint): Iterate over all symbol spaces. (update_breakpoints_after_exec): Ignore breakpoints for other symbol spaces. (remove_breakpoint): Rename to ... (remove_breakpoint_1): ... this. Pass the breakpoints symbol space to solib_name_from_address. (remove_breakpoint): New. (mark_breakpoints_out): Ignore breakpoints from other symbol spaces. (breakpoint_init_inferior): Ditto. (breakpoint_here_p): Add an address space argument and adjust to use breakpoint_address_match. (moribund_breakpoint_here_p): Ditto. (regular_breakpoint_inserted_here_p): Ditto. (breakpoint_inserted_here_p): Ditto. (software_breakpoint_inserted_here_p): Ditto. (breakpoint_thread_match): Ditto. (bpstat_check_location): Ditto. (bpstat_stop_status): Ditto. (print_breakpoint_location): If there's a location to print, switch the current symbol space. (print_one_breakpoint_location): Add `allflag' argument. (print_one_breakpoint): Ditto. Adjust. (do_captured_breakpoint_query): Adjust. (breakpoint_1): Adjust. (breakpoint_has_pc): Also match the symbol space. (describe_other_breakpoints): Add a symbol space argument and adjust. (set_default_breakpoint): Add a symbol space argument. Set default_breakpoint_sspace. (breakpoint_address_match): New. (check_duplicates_for): Add an address space argument, and adjust. (set_raw_breakpoint): Record the symbol space in the location and in the breakpoint. (set_longjmp_breakpoint): Skip longjmp master breakpoints from other symbol spaces. (remove_thread_event_breakpoints, remove_solib_event_breakpoints) (disable_breakpoints_in_shlibs): Skip breakpoints from other symbol spaces. (disable_breakpoints_in_unloaded_shlib): Match symbol spaces. (create_catchpoint): Set the symbol space in the sal. (disable_breakpoints_before_startup): Skip breakpoints from other symbol spaces. Set executing_startup in the current symbol space. (enable_breakpoints_after_startup): Clear executing_startup in the current symbol space. Skip breakpoints from other symbol spaces. (clone_momentary_breakpoint): Also copy the symbol space. (add_location_to_breakpoint): Set the location's symbol space. (bp_loc_is_permanent): Switch thread and symbol space. (create_breakpoint): Adjust. (expand_line_sal_maybe): Expand comment to mention symbol spaces. Switch thread and symbol space when reading memory. (parse_breakpoint_sals): Set the symbol space in the sal. (break_command_really): Ditto. (skip_prologue_sal): Switch and space. (resolve_sal_pc): Ditto. (watch_command_1): Record the symbol space in the sal. (create_ada_exception_breakpoint): Adjust. (clear_command): Adjust. Match symbol spaces. (update_global_location_list): Use breakpoint_address_match. (breakpoint_re_set_one): Switch thread and space. (breakpoint_re_set): Save symbol space. (breakpoint_re_set_thread): Also reset the symbol space. (deprecated_insert_raw_breakpoint): Add an address space argument. Adjust. (insert_single_step_breakpoint): Ditto. (single_step_breakpoint_inserted_here_p): Ditto. (clear_syscall_counts): New. (_initialize_breakpoint): Install it as inferior_exit observer. * exec.h: Include "progspace.h". (exec_bfd, exec_bfd_mtime): New defines. (exec_close): Declare. * exec.c: Include "gdbthread.h" and "progspace.h". (exec_bfd, exec_bfd_mtime, current_target_sections_1): Delete. (using_exec_ops): New. (exec_close_1): Rename to exec_close, and make public. (exec_close): Rename to exec_close_1, and adjust all callers. Add description. Remove target sections and close executables from all program spaces. (exec_file_attach): Add comment. (add_target_sections): Check on `using_exec_ops' to check if the target should be pushed. (remove_target_sections): Only unpush the target if there are no more target sections in any symbol space. * gdbcore.h: Include "exec.h". (exec_bfd, exec_bfd_mtime): Remove declarations. * frame.h (get_frame_program_space, get_frame_address_space) (frame_unwind_program_space): Declare. * frame.c (struct frame_info) <pspace, aspace>: New fields. (create_sentinel_frame): Add program space argument. Set the pspace and aspace fields of the frame object. (get_current_frame, create_new_frame): Adjust. (get_frame_program_space): New. (frame_unwind_program_space): New. (get_frame_address_space): New. * stack.c (print_frame_info): Adjust. (print_frame): Use the frame's program space. * gdbthread.h (any_live_thread_of_process): Declare. * thread.c (any_live_thread_of_process): New. (switch_to_thread): Switch the program space as well. (restore_selected_frame): Don't warn if trying to restore frame level 0. * inferior.h: Include "progspace.h". (detach_fork): Declare. (struct inferior) <removable, aspace, pspace> <vfork_parent, vfork_child, pending_detach> <waiting_for_vfork_done>: New fields. <terminal_info>: Remove field. <data, num_data>: New fields. (register_inferior_data, register_inferior_data_with_cleanup) (clear_inferior_data, set_inferior_data, inferior_data): Declare. (exit_inferior, exit_inferior_silent, exit_inferior_num_silent) (inferior_appeared): Declare. (find_inferior_pid): Typo. (find_inferior_id, find_inferior_for_program_space): Declare. (set_current_inferior, save_current_inferior, prune_inferiors) (number_of_inferiors): Declare. (inferior_list): Declare. * inferior.c: Include "gdbcore.h" and "symfile.h". (inferior_list): Make public. (delete_inferior_1): Always delete thread silently. (find_inferior_id): Make public. (current_inferior_): New. (current_inferior): Use it. (set_current_inferior): New. (restore_inferior): New. (save_current_inferior): New. (free_inferior): Free the per-inferior data. (add_inferior_silent): Allocate per-inferior data. Call inferior_appeared. (delete_threads_of_inferior): New. (delete_inferior_1): Adjust interface to take an inferior pointer. (delete_inferior): Adjust. (delete_inferior_silent): Adjust. (exit_inferior_1): New. (exit_inferior): New. (exit_inferior_silent): New. (exit_inferior_num_silent): New. (detach_inferior): Adjust. (inferior_appeared): New. (discard_all_inferiors): Adjust. (find_inferior_id): Make public. Assert pid is not zero. (find_inferior_for_program_space): New. (have_inferiors): Check if we have any inferior with pid not zero. (have_live_inferiors): Go over all pushed targets looking for process_stratum. (prune_inferiors): New. (number_of_inferiors): New. (print_inferior): Add executable column. Print vfork parent/child relationships. (inferior_command): Adjust to cope with not running inferiors. (remove_inferior_command): New. (add_inferior_command): New. (clone_inferior_command): New. (struct inferior_data): New. (struct inferior_data_registration): New. (struct inferior_data_registry): New. (inferior_data_registry): New. (register_inferior_data_with_cleanup): New. (register_inferior_data): New. (inferior_alloc_data): New. (inferior_free_data): New. (clear_inferior_data): New. (set_inferior_data): New. (inferior_data): New. (initialize_inferiors): New. (_initialize_inferiors): Register "add-inferior", "remove-inferior" and "clone-inferior" commands. * objfiles.h: Include "progspace.h". (struct objfile) <pspace>: New field. (symfile_objfile, object_files): Don't declare. (ALL_PSPACE_OBJFILES): New. (ALL_PSPACE_OBJFILES_SAFE): New. (ALL_OBJFILES, ALL_OBJFILES_SAFE): Adjust. (ALL_PSPACE_SYMTABS): New. (ALL_PRIMARY_SYMTABS): Adjust. (ALL_PSPACE_PRIMARY_SYMTABS): New. (ALL_PSYMTABS): Adjust. (ALL_PSPACE_PSYMTABS): New. * objfiles.c (object_files, symfile_objfile): Delete. (struct objfile_sspace_info): New. (objfiles_pspace_data): New. (objfiles_pspace_data_cleanup): New. (get_objfile_pspace_data): New. (objfiles_changed_p): Delete. (allocate_objfile): Set the objfile's program space. Adjust to reference objfiles_changed_p in pspace data. (free_objfile): Adjust to reference objfiles_changed_p in pspace data. (objfile_relocate): Ditto. (update_section_map): Add pspace argument. Adjust to iterate over objfiles in the passed in pspace. (find_pc_section): Delete sections and num_sections statics. Adjust to refer to program space's objfiles_changed_p. Adjust to refer to sections and num_sections store in the objfile's pspace data. (objfiles_changed): Adjust to reference objfiles_changed_p in pspace data. (_initialize_objfiles): New. * linespec.c (decode_all_digits, decode_dollar): Set the sal's program space. * source.c (current_source_pspace): New. (get_current_source_symtab_and_line): Set the sal's program space. (set_current_source_symtab_and_line): Set current_source_pspace. (select_source_symtab): Ditto. Use ALL_OBJFILES. (forget_cached_source_info): Iterate over all program spaces. * symfile.c (clear_symtab_users): Adjust. * symmisc.c (print_symbol_bcache_statistics): Iterate over all program spaces. (print_objfile_statistics): Ditto. (maintenance_print_msymbols): Ditto. (maintenance_print_objfiles): Ditto. (maintenance_info_symtabs): Ditto. (maintenance_info_psymtabs): Ditto. * symtab.h (SYMTAB_PSPACE): New. (struct symtab_and_line) <pspace>: New field. * symtab.c (init_sal): Clear the sal's program space. (find_pc_sect_symtab): Set the sal's program space. Switch thread and space. (append_expanded_sal): Add program space argument. Iterate over all program spaces. (expand_line_sal): Iterate over all program spaces. Switch program space. * target.h (enum target_waitkind) <TARGET_WAITKIND_VFORK_DONE>: New. (struct target_ops) <to_thread_address_space>: New field. (target_thread_address_space): Define. * target.c (target_detach): Only remove breakpoints from the inferior we're detaching. (target_thread_address_space): New. * defs.h (initialize_progspace): Declare. * top.c (gdb_init): Call it. * solist.h (struct so_list) <sspace>: New field. * solib.h (struct program_space): Forward declare. (solib_name_from_address): Adjust prototype. * solib.c (so_list_head): Replace with a macro referencing the program space. (update_solib_list): Set the so's program space. (solib_name_from_address): Add a program space argument and adjust. * solib-svr4.c (struct svr4_info) <pid>: Delete field. <interp_text_sect_low, interp_text_sect_high, interp_plt_sect_low> <interp_plt_sect_high>: New fields. (svr4_info_p, svr4_info): Delete. (solib_svr4_sspace_data): New. (get_svr4_info): Rewrite. (svr4_sspace_data_cleanup): New. (open_symbol_file_object): Adjust. (svr4_default_sos): Adjust. (svr4_fetch_objfile_link_map): Adjust. (interp_text_sect_low, interp_text_sect_high, interp_plt_sect_low) (interp_plt_sect_high): Delete. (svr4_in_dynsym_resolve_code): Adjust. (enable_break): Adjust. (svr4_clear_solib): Revert bit that removed the svr4_info here, and reinstate clearing debug_base, debug_loader_offset_p, debug_loader_offset and debug_loader_name. (_initialize_svr4_solib): Register solib_svr4_pspace_data. Don't install an inferior_exit observer anymore. * printcmd.c (struct display) <pspace>: New field. (display_command): Set the display's sspace. (do_one_display): Match the display's sspace. (display_uses_solib_p): Ditto. * linux-fork.c (detach_fork): Moved to infrun.c. (_initialize_linux_fork): Moved "detach-on-fork" command to infrun.c. * infrun.c (detach_fork): Moved from linux-fork.c. (proceed_after_vfork_done): New. (handle_vfork_child_exec_or_exit): New. (follow_exec_mode_replace, follow_exec_mode_keep) (follow_exec_mode_names, follow_exec_mode_string) (show_follow_exec_mode_string): New. (follow_exec): New. Reinstate the mark_breakpoints_out call. Remove shared libraries before attaching new executable. If user wants to keep the inferior, keep it. (displaced_step_fixup): Adjust to pass an address space to the breakpoints module. (resume): Ditto. (clear_proceed_status): In all-stop mode, always clear the proceed status of all threads. (prepare_to_proceed): Adjust to pass an address space to the breakpoints module. (proceed): Ditto. (adjust_pc_after_break): Ditto. (handle_inferior_event): When handling a process exit, switch the program space to the inferior's that had exited. Call handle_vfork_child_exec_or_exit. Adjust to pass an address space to the breakpoints module. In non-stop mode, when following a fork and detach-fork is off, also resume the other branch. Handle TARGET_WAITKIND_VFORK_DONE. Set the program space in sals. (normal_stop): Prune inferiors. (_initialize_infrun): Install the new "follow-exec-mode" command. "detach-on-fork" moved here. * regcache.h (get_regcache_aspace): Declare. * regcache.c (struct regcache) <aspace>: New field. (regcache_xmalloc): Clear the aspace. (get_regcache_aspace): New. (regcache_cpy): Copy the aspace field. (regcache_cpy_no_passthrough): Ditto. (get_thread_regcache): Fetch the thread's address space from the target, and store it in the regcache. * infcall.c (call_function_by_hand): Set the sal's pspace. * arch-utils.c (default_has_shared_address_space): New. * arch-utils.h (default_has_shared_address_space): Declare. * gdbarch.sh (has_shared_address_space): New. * gdbarch.h, gdbarch.c: Regenerate. * linux-tdep.c: Include auxv.h, target.h, elf/common.h. (linux_has_shared_address_space): New. (_initialize_linux_tdep): Declare. * arm-tdep.c (arm_software_single_step): Pass the frame's address space to insert_single_step_breakpoint. * arm-linux-tdep.c (arm_linux_software_single_step): Pass the frame's pspace to breakpoint functions. * cris-tdep.c (crisv32_single_step_through_delay): Ditto. (cris_software_single_step): Ditto. * mips-tdep.c (deal_with_atomic_sequence): Add frame argument. Pass the frame's pspace to breakpoint functions. (mips_software_single_step): Adjust. (mips_single_step_through_delay): Adjust. * rs6000-aix-tdep.c (rs6000_software_single_step): Adjust. * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust. * solib-irix.c (enable_break): Adjust to pass the current frame's address space to breakpoint functions. * sparc-tdep.c (sparc_software_single_step): Ditto. * spu-tdep.c (spu_software_single_step): Ditto. * alpha-tdep.c (alpha_software_single_step): Ditto. * record.c (record_wait): Adjust to pass an address space to the breakpoints module. * fork-child.c (fork_inferior): Set the new inferior's program and address spaces. * inf-ptrace.c (inf_ptrace_follow_fork): Copy the parent's program and address spaces. (inf_ptrace_attach): Set the inferior's program and address spaces. * linux-nat.c: Include "solib.h". (linux_child_follow_fork): Manage parent and child's program and address spaces. Clone the parent's program space if necessary. Don't wait for the vfork to be done here. Refuse to resume if following the vfork parent while leaving the child stopped. (resume_callback): Don't resume a vfork parent. (linux_nat_resume): Also check for pending events in the lp->waitstatus field. (linux_handle_extended_wait): Report TARGET_WAITKIND_VFORK_DONE events to the core. (stop_wait_callback): Don't wait for SIGSTOP on vfork parents. (cancel_breakpoint): Adjust. * linux-thread-db.c (thread_db_wait): Don't remove thread event breakpoints here. (thread_db_mourn_inferior): Don't mark breakpoints out here. Remove thread event breakpoints after mourning. * corelow.c: Include progspace.h. (core_open): Set the inferior's program and address spaces. * remote.c (remote_add_inferior): Set the new inferior's program and address spaces. (remote_start_remote): Update address spaces. (extended_remote_create_inferior_1): Don't init the thread list if we already debugging other inferiors. * darwin-nat.c (darwin_attach): Set the new inferior's program and address spaces. * gnu-nat.c (gnu_attach): Ditto. * go32-nat.c (go32_create_inferior): Ditto. * inf-ttrace.c (inf_ttrace_follow_fork, inf_ttrace_attach): Ditto. * monitor.c (monitor_open): Ditto. * nto-procfs.c (procfs_attach, procfs_create_inferior): Ditto. * procfs.c (do_attach): Ditto. * windows-nat.c (do_initial_windows_stuff): Ditto. * inflow.c (inferior_process_group) (terminal_init_inferior_with_pgrp, terminal_inferior, (terminal_ours_1, inflow_inferior_exit, copy_terminal_info) (child_terminal_info, new_tty_postfork, set_sigint_trap): Adjust to use per-inferior data instead of inferior->terminal_info. (inflow_inferior_data): New. (inflow_new_inferior): Delete. (inflow_inferior_data_cleanup): New. (get_inflow_inferior_data): New. * mi/mi-interp.c (mi_new_inferior): Rename to... (mi_inferior_appeared): ... this. (mi_interpreter_init): Adjust. * tui/tui-disasm.c: Include "progspace.h". (tui_set_disassem_content): Pass an address space to breakpoint_here_p. * NEWS: Mention multi-program debugging support. Mention new commands "add-inferior", "clone-inferior", "remove-inferior", "maint info program-spaces", and new option "set follow-exec-mode". 2009-10-19 Pedro Alves <pedro@codesourcery.com> Stan Shebs <stan@codesourcery.com> gdb/doc/ * observer.texi (new_inferior): Rename to... (inferior_appeared): ... this. 2009-10-19 Pedro Alves <pedro@codesourcery.com> Stan Shebs <stan@codesourcery.com> gdb/testsuite/ * gdb.base/foll-vfork.exp: Adjust to spell out "follow-fork". * gdb.base/foll-exec.exp: Adjust to expect a process id before "Executing new program". * gdb.base/foll-fork.exp: Adjust to spell out "follow-fork". * gdb.base/multi-forks.exp: Ditto. Adjust to the inferior being left listed after having been killed. * gdb.base/attach.exp: Adjust to spell out "symbol-file". * gdb.base/maint.exp: Adjust test. * Makefile.in (ALL_SUBDIRS): Add gdb.multi. * gdb.multi/Makefile.in: New. * gdb.multi/base.exp: New. * gdb.multi/goodbye.c: New. * gdb.multi/hangout.c: New. * gdb.multi/hello.c: New. * gdb.multi/bkpt-multi-exec.c: New. * gdb.multi/bkpt-multi-exec.exp: New. * gdb.multi/crashme.c: New. 2009-10-19 Pedro Alves <pedro@codesourcery.com> Stan Shebs <stan@codesourcery.com> gdb/doc/ * gdb.texinfo (Inferiors): Rename node to ... (Inferiors and Programs): ... this. Mention running multiple programs in the same debug session. <info inferiors>: Mention the new 'Executable' column if "info inferiors". Update examples. Document the "add-inferior", "clone-inferior", "remove-inferior" and "maint info program-spaces" commands. (Process): Rename node to... (Forks): ... this. Document "set|show follow-exec-mode".
2009-10-19 17:51:43 +08:00
insert_single_step_breakpoint (arch, aspace, nnpc);
/* Assert that we have set at least one breakpoint, and that
they're not set at the same spot - unless we're going
from here straight to NULL, i.e. a call or jump to 0. */
gdb_assert (npc != 0 || nnpc != 0 || orig_npc == 0);
gdb_assert (nnpc != npc || orig_npc == 0);
return 1;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
}
static void
* gdbarch.sh (read_pc): Add REGCACHE argument. Remove PTID argument. (write_pc): Likewise. Remove default implementation, add predicate. * gdbarch.c, gdbarch.h: Regenerate. * regcache.c (read_pc_pid): Use current regcache instead of calling read_register_pid. (write_pc_pid): Check gdbarch_write_pc predicate, implement default case inline. (generic_target_write_pc): Remove. * inferior.h (generic_target_write_pc): Remove. * frv-tdep.c (frv_gdbarch_init): Do not install it. * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise. * rs6000-tdep.c (rs6000_gdbarch_init): Likewise. * sh64-tdep.c (sh64_gdbarch_init): Likewise. * sh-tdep.c (sh_gdbarch_init): Likewise. * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise. * avr-tdep.c (avr_read_pc): Add REGCACHE argument. Remove PTID argument. Use REGCACHE instead of calling read_register_pid. * hppa-hpux-tdep.c (hppa_hpux_read_pc): Likewise. * hppa-tdep.c (hppa_read_pc): Likewise. * hppa-tdep.h (hppa_read_pc): Likewise. * ia64-tdep.c (ia64_read_pc): Likewise. * m32r-tdep.c (m32r_read_pc): Likewise. * mep-tdep.c (mep_read_pc): Likewise. * mn10300-tdep.c (mn10300_read_pc): Likewise. * spu-tdep.c (spu_read_pc): Likewise. * arm-tdep.c (arm_write_pc): Add REGCACHE argument. Remove PTID argument. Use REGCACHE instead of calling write_register_pid. * avr-tdep.c (avr_write_pc): Likewise. * hppa-hpux-tdep.c (hppa_hpux_write_pc): Likewise. * hppa-tdep.c (hppa_write_pc): Likewise. * hppa-tdep.h (hppa_write_pc): Likewise. * i386-linux-tdep.c (i386_linux_write_pc): Likewise. * amd64-linux-tdep.c (amd64_linux_write_pc): Likewise. * ia64-linux-tdep.c (ia64_linux_write_pc): Likewise. * ia64-tdep.c (ia64_write_pc): Likewise. * ia64-tdep.h (ia64_write_pc): Likewise. * m32r-tdep.c (m32r_write_pc): Likewise. * m88k-tdep.c (m88k_write_pc): Likewise. * mep-tdep.c (mep_write_pc): Likewise. * mips-tdep.c (mips_write_pc): Likewise. * mips-linux-tdep.c (mips_linux_write_pc): Likewise. * mn10300-tdep.c (mn10300_write_pc): Likewise. * sparc-tdep.c (sparc_write_pc): Likewise. * spu-tdep.c (spu_write_pc): Likewise. * mips-tdep.c (read_signed_register): Remove. (read_signed_register_pid): Likewise. (mips_read_pc): Add REGCACHE argument. Remove PTID argument. Use REGCACHE instead of calling read_signed_register_pid.
2007-06-16 06:44:56 +08:00
sparc_write_pc (struct regcache *regcache, CORE_ADDR pc)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
{
* gdbarch.sh (read_pc): Add REGCACHE argument. Remove PTID argument. (write_pc): Likewise. Remove default implementation, add predicate. * gdbarch.c, gdbarch.h: Regenerate. * regcache.c (read_pc_pid): Use current regcache instead of calling read_register_pid. (write_pc_pid): Check gdbarch_write_pc predicate, implement default case inline. (generic_target_write_pc): Remove. * inferior.h (generic_target_write_pc): Remove. * frv-tdep.c (frv_gdbarch_init): Do not install it. * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise. * rs6000-tdep.c (rs6000_gdbarch_init): Likewise. * sh64-tdep.c (sh64_gdbarch_init): Likewise. * sh-tdep.c (sh_gdbarch_init): Likewise. * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise. * avr-tdep.c (avr_read_pc): Add REGCACHE argument. Remove PTID argument. Use REGCACHE instead of calling read_register_pid. * hppa-hpux-tdep.c (hppa_hpux_read_pc): Likewise. * hppa-tdep.c (hppa_read_pc): Likewise. * hppa-tdep.h (hppa_read_pc): Likewise. * ia64-tdep.c (ia64_read_pc): Likewise. * m32r-tdep.c (m32r_read_pc): Likewise. * mep-tdep.c (mep_read_pc): Likewise. * mn10300-tdep.c (mn10300_read_pc): Likewise. * spu-tdep.c (spu_read_pc): Likewise. * arm-tdep.c (arm_write_pc): Add REGCACHE argument. Remove PTID argument. Use REGCACHE instead of calling write_register_pid. * avr-tdep.c (avr_write_pc): Likewise. * hppa-hpux-tdep.c (hppa_hpux_write_pc): Likewise. * hppa-tdep.c (hppa_write_pc): Likewise. * hppa-tdep.h (hppa_write_pc): Likewise. * i386-linux-tdep.c (i386_linux_write_pc): Likewise. * amd64-linux-tdep.c (amd64_linux_write_pc): Likewise. * ia64-linux-tdep.c (ia64_linux_write_pc): Likewise. * ia64-tdep.c (ia64_write_pc): Likewise. * ia64-tdep.h (ia64_write_pc): Likewise. * m32r-tdep.c (m32r_write_pc): Likewise. * m88k-tdep.c (m88k_write_pc): Likewise. * mep-tdep.c (mep_write_pc): Likewise. * mips-tdep.c (mips_write_pc): Likewise. * mips-linux-tdep.c (mips_linux_write_pc): Likewise. * mn10300-tdep.c (mn10300_write_pc): Likewise. * sparc-tdep.c (sparc_write_pc): Likewise. * spu-tdep.c (spu_write_pc): Likewise. * mips-tdep.c (read_signed_register): Remove. (read_signed_register_pid): Likewise. (mips_read_pc): Add REGCACHE argument. Remove PTID argument. Use REGCACHE instead of calling read_signed_register_pid.
2007-06-16 06:44:56 +08:00
struct gdbarch_tdep *tdep = gdbarch_tdep (get_regcache_arch (regcache));
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
* gdbarch.sh (read_pc): Add REGCACHE argument. Remove PTID argument. (write_pc): Likewise. Remove default implementation, add predicate. * gdbarch.c, gdbarch.h: Regenerate. * regcache.c (read_pc_pid): Use current regcache instead of calling read_register_pid. (write_pc_pid): Check gdbarch_write_pc predicate, implement default case inline. (generic_target_write_pc): Remove. * inferior.h (generic_target_write_pc): Remove. * frv-tdep.c (frv_gdbarch_init): Do not install it. * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise. * rs6000-tdep.c (rs6000_gdbarch_init): Likewise. * sh64-tdep.c (sh64_gdbarch_init): Likewise. * sh-tdep.c (sh_gdbarch_init): Likewise. * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise. * avr-tdep.c (avr_read_pc): Add REGCACHE argument. Remove PTID argument. Use REGCACHE instead of calling read_register_pid. * hppa-hpux-tdep.c (hppa_hpux_read_pc): Likewise. * hppa-tdep.c (hppa_read_pc): Likewise. * hppa-tdep.h (hppa_read_pc): Likewise. * ia64-tdep.c (ia64_read_pc): Likewise. * m32r-tdep.c (m32r_read_pc): Likewise. * mep-tdep.c (mep_read_pc): Likewise. * mn10300-tdep.c (mn10300_read_pc): Likewise. * spu-tdep.c (spu_read_pc): Likewise. * arm-tdep.c (arm_write_pc): Add REGCACHE argument. Remove PTID argument. Use REGCACHE instead of calling write_register_pid. * avr-tdep.c (avr_write_pc): Likewise. * hppa-hpux-tdep.c (hppa_hpux_write_pc): Likewise. * hppa-tdep.c (hppa_write_pc): Likewise. * hppa-tdep.h (hppa_write_pc): Likewise. * i386-linux-tdep.c (i386_linux_write_pc): Likewise. * amd64-linux-tdep.c (amd64_linux_write_pc): Likewise. * ia64-linux-tdep.c (ia64_linux_write_pc): Likewise. * ia64-tdep.c (ia64_write_pc): Likewise. * ia64-tdep.h (ia64_write_pc): Likewise. * m32r-tdep.c (m32r_write_pc): Likewise. * m88k-tdep.c (m88k_write_pc): Likewise. * mep-tdep.c (mep_write_pc): Likewise. * mips-tdep.c (mips_write_pc): Likewise. * mips-linux-tdep.c (mips_linux_write_pc): Likewise. * mn10300-tdep.c (mn10300_write_pc): Likewise. * sparc-tdep.c (sparc_write_pc): Likewise. * spu-tdep.c (spu_write_pc): Likewise. * mips-tdep.c (read_signed_register): Remove. (read_signed_register_pid): Likewise. (mips_read_pc): Add REGCACHE argument. Remove PTID argument. Use REGCACHE instead of calling read_signed_register_pid.
2007-06-16 06:44:56 +08:00
regcache_cooked_write_unsigned (regcache, tdep->pc_regnum, pc);
regcache_cooked_write_unsigned (regcache, tdep->npc_regnum, pc + 4);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
}
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
/* Return the appropriate register set for the core section identified
by SECT_NAME and SECT_SIZE. */
Silence a few -Wmissing-prototypes warnings. PR build/9877: * alpha-linux-tdep.c (alpha_linux_regset_from_core_section): Make it static. * alpha-osf1-tdep.c (_initialize_alpha_osf1_tdep): Declare. * amd64fbsd-tdep.c (amd64fbsd_init_abi): Make it static. * amd64nbsd-tdep.c (_initialize_amd64nbsd_ndep): Rename to ... (_initialize_amd64nbsd_tdep): ... this. * arm-linux-tdep.c (arm_linux_software_single_step): Make it static. (_initialize_arm_linux_tdep): Declare. * armbsd-tdep.c (armbsd_fpreg_offset): Make it static. * armnbsd-tdep.c (_initialize_arm_netbsd_tdep): Declare. * armobsd-tdep.c (_initialize_armobsd_tdep): Declare. * avr-tdep.c (avr_return_value): Make it static. (avr_frame_unwind_cache): Ditto. * bsd-uthread.c (bsd_uthread_inferior_created): Ditto. (bsd_uthread_solib_loaded): Ditto. (bsd_uthread_solib_unloaded): Ditto. (bsd_uthread_target): Ditto. (_initialize_bsd_uthread): Declare. * cris-tdep.c (crisv32_single_step_through_delay): Make it static. (cris_frame_unwind_cache): Ditto. * frv-tdep.c (frv_return_value): Ditto. * h8300-tdep.c (h8300_use_struct_convention): Ditto. (h8300h_use_struct_convention): Ditto. * hppa-tdep.c (hppa_sign_extend, hppa_low_hppa_sign_extend): Ditto. * hppa-tdep.h (hppa_low_sign_extend, hppa_sign_extend): Delete declarations. * hppabsd-tdep.c: Include hppabsd-tdep.h. (hppabsd_find_global_pointer): Make it static. * hppabsd-tdep.h: New. * hppanbsd-tdep.c: Include hppabsd-tdep.h. (hppabsd_init_abi): Remove declaration. (_initialize_hppabsd_tdep): Remove declaration. (_initialize_hppanbsd_tdep): Declare. * hppaobsd-tdep.c: Include hppabsd-tdep.h. (hppabsd_init_abi): Delete declaration. (hppaobsd_init_abi): Make it static. * i386-nto-tdep.c (_initialize_i386nto_tdep): Declare. * i386nbsd-tdep.c (_initialize_i386nbsd_tdep): Declare. * ia64-linux-tdep.c (_initialize_ia64_linux_tdep): Declare. * ia64-tdep.c (ia64_register_reggroup_p): Make it static. * iq2000-tdep.c (_initialize_iq2000_tdep): Declare. * m32c-tdep.c (m32c_register_reggroup_p): Make it static. (m32c_analyze_prologue, m32c_virtual_frame_pointer): Ditto. (_initialize_m32c_tdep): Declare. * m32r-rom.c (_initialize_m32r_rom): Declare. * m32r-tdep.c (m32r_skip_prologue): Make it static. (m32r_return_value): Ditto. * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Make it static. (m68hc11_return_value): Ditto. * m68klinux-tdep.c (_initialize_m68k_linux_tdep): Declare. * m88k-tdep.c (m88k_frame_cache): Make it static. * mep-tdep.c (mep_gdb_print_insn): Ditto. (mep_return_value): Ditto. (_initialize_mep_tdep): Declare. * mips-irix-tdep.c (_initialize_mips_irix_tdep): Declare. * mips-linux-tdep.c (supply_64bit_reg): Make it static. (mips_linux_syscall_next_pc): Ditto. (_initialize_mips_linux_tdep): Declare. * mips-tdep.c (mips_single_step_through_delay): Make it static. * mipsnbsd-tdep.c (_initialize_mipsnbsd_tdep): Declare. * mn10300-linux-tdep.c (_initialize_mn10300_linux_tdep): Declare. * mn10300-tdep.c (_initialize_mn10300_tdep): Declare. * mt-tdep.c (_initialize_mt_tdep): Declare. * nbsd-tdep.c: Include nbsd-tdep.h. * nto-tdep.c (find_load_phdr): Make it static. (_initialize_nto_tdep): Declare. * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Make it static. (_initialize_ppc_linux_tdep): Declare. * remote-m32r-sdi.c (m32r_can_use_hw_watchpoint) (m32r_insert_watchpoint, m32r_remove_watchpoint) (m32r_stopped_data_address, m32r_stopped_by_watchpoint): Make static. * rs6000-aix-tdep.c (_initialize_rs6000_aix_tdep): Declare. * rs6000-nat.c: Include xcoffread.h. (find_toc_address): Don't extern declare get_toc_offset. Adjust to call xcoff_get_to_offset. * rs6000-tdep.c (ppc_vsx_support_p, ppc_displaced_step_fixup) (rs6000_skip_main_prologue, rs6000_in_solib_return_trampoline) (rs6000_skip_trampoline_code): Make static. * s390-tdep.c (s390_regset_from_core_section): Ditto. * sh-tdep.c (sh_register_reggroup_p): Ditto. * shnbsd-tdep.c (shnbsd_regset_from_core_section): Ditto. (_initialize_shnbsd_tdep): Declare. * solib-frv.c (displacement_from_map): Make static. (_initialize_frv_solib): Declare. * solib-irix.c (fetch_lm_info): Make static. (_initialize_irix_solib): Declare. * solib-som.c: Include solib-som.h. (som_solib_select): Line break. * sparc-tdep.c (sparc_regset_from_core_section): Make static. * sparcnbsd-tdep.c (_initialize_sparnbsd_tdep): Rename to ... (_initialize_sparcnbsd_tdep): ... this. * spu-tdep.c (spu_software_single_step): Make it static. (_initialize_spu_tdep): Declare. * vax-tdep.c (vax_frame_cache): Make it static. * xcoffread.c: Include xcoffread.h. (get_toc_offset): Rename to ... (xcoff_get_toc_offset): ... this. (_initialize_xcoffread): Declare. * xcoffread.h: New. * xtensa-linux-tdep.c (_initialize_xtensa_linux_tdep): Declare. * xtensa-tdep.c (xtensa_skip_prologue, xtensa_derive_tdep): Make static. (_initialize_xtensa_tdep): Declare.
2009-02-22 09:02:20 +08:00
static const struct regset *
sparc_regset_from_core_section (struct gdbarch *gdbarch,
const char *sect_name, size_t sect_size)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
if (strcmp (sect_name, ".reg") == 0 && sect_size >= tdep->sizeof_gregset)
return tdep->gregset;
if (strcmp (sect_name, ".reg2") == 0 && sect_size >= tdep->sizeof_fpregset)
return tdep->fpregset;
return NULL;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
static struct gdbarch *
sparc32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
{
struct gdbarch_tdep *tdep;
struct gdbarch *gdbarch;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* If there is already a candidate, use it. */
arches = gdbarch_list_lookup_by_info (arches, &info);
if (arches != NULL)
return arches->gdbarch;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Allocate space for the new architecture. */
tdep = XZALLOC (struct gdbarch_tdep);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
gdbarch = gdbarch_alloc (&info, tdep);
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
tdep->pc_regnum = SPARC32_PC_REGNUM;
tdep->npc_regnum = SPARC32_NPC_REGNUM;
tdep->step_trap = sparc_step_trap;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
set_gdbarch_long_double_bit (gdbarch, 128);
* doublest.c (floatformat_from_length): Use the right element from gdbarch floatformats. (floatformat_from_type, extract_typed_floating) (store_typed_floating): Likewise. * doublest.h: Remove declarations for undefined floatformat arrays. * gdbarch.sh (float_format, double_format, long_double_format): Change to pairs. (pformat): Update for pairs. * gdbarch.c, gdbarch.h: Regenerated. * gdbtypes.c (floatformats_ieee_single, floatformats_ieee_double) (floatformats_ieee_double_littlebyte_bigword) (floatformats_i387_ext, floatformats_m68881_ext, floatformats_arm_ext) (floatformats_ia64_spill, floatformats_ia64_quad, floatformats_vax_f) (floatformats_vax_d): New variables. (builtin_type_ieee_single, builtin_type_ieee_double) (builtin_type_arm_ext, builtin_type_ia64_spill) (builtin_type_ia64_quad): Replace arrays with individual types. (builtin_type_ieee_single_big, builtin_type_ieee_single_little) (builtin_type_ieee_double_big, builtin_type_ieee_double_little) (builtin_type_ieee_double_littlebyte_bigword, builtin_type_i960_ext) (builtin_type_m88110_ext, builtin_type_m88110_harris_ext) (builtin_type_arm_ext_big, builtin_type_arm_ext_littlebyte_bigword) (builtin_type_ia64_spill_big, builtin_type_ia64_spill_little) (builtin_type_ia64_quad_big, builtin_type_ia64_quad_little): Delete unused and endian-specific types. (recursive_dump_type): Update for floatformat pairs. (build_flt): Move higher. Handle bit == -1. Take a floatformat pair. (build_gdbtypes): Use build_flt. (_initialize_gdbtypes): Update set of initialized types. * gdbtypes.h: Update declarations to match gdbtypes.c. (struct main_type): Store a pointer to two floatformats. * arch-utils.c (default_float_format, default_double_format): Delete. * arch-utils.h (default_float_format, default_double_format): Delete. * arm-tdep.c, avr-tdep.c, hppa-tdep.c, hppabsd-tdep.c, i386-tdep.c, ia64-tdep.c, iq2000-tdep.c, m68k-tdep.c, m88k-tdep.c, mips-linux-tdep.c, mips-tdep.c, mt-tdep.c, ppcobsd-tdep.c, sparc-linux-tdep.c, sparc-tdep.c, sparcnbsd-tdep.c, spu-tdep.c, vax-tdep.c, alpha-tdep.c, ppc-sysv-tdep.c: Update.
2007-01-30 01:31:06 +08:00
set_gdbarch_long_double_format (gdbarch, floatformats_sparc_quad);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
set_gdbarch_num_regs (gdbarch, SPARC32_NUM_REGS);
set_gdbarch_register_name (gdbarch, sparc32_register_name);
set_gdbarch_register_type (gdbarch, sparc32_register_type);
set_gdbarch_num_pseudo_regs (gdbarch, SPARC32_NUM_PSEUDO_REGS);
set_gdbarch_pseudo_register_read (gdbarch, sparc32_pseudo_register_read);
set_gdbarch_pseudo_register_write (gdbarch, sparc32_pseudo_register_write);
/* Register numbers of various important registers. */
set_gdbarch_sp_regnum (gdbarch, SPARC_SP_REGNUM); /* %sp */
set_gdbarch_pc_regnum (gdbarch, SPARC32_PC_REGNUM); /* %pc */
set_gdbarch_fp0_regnum (gdbarch, SPARC_F0_REGNUM); /* %f0 */
/* Call dummy code. */
set_gdbarch_frame_align (gdbarch, sparc32_frame_align);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
set_gdbarch_push_dummy_code (gdbarch, sparc32_push_dummy_code);
set_gdbarch_push_dummy_call (gdbarch, sparc32_push_dummy_call);
set_gdbarch_return_value (gdbarch, sparc32_return_value);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
set_gdbarch_stabs_argument_has_addr
(gdbarch, sparc32_stabs_argument_has_addr);
set_gdbarch_skip_prologue (gdbarch, sparc32_skip_prologue);
/* Stack grows downward. */
set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
set_gdbarch_breakpoint_from_pc (gdbarch, sparc_breakpoint_from_pc);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
set_gdbarch_frame_args_skip (gdbarch, 8);
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
set_gdbarch_print_insn (gdbarch, print_insn_sparc);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
set_gdbarch_software_single_step (gdbarch, sparc_software_single_step);
set_gdbarch_write_pc (gdbarch, sparc_write_pc);
set_gdbarch_dummy_id (gdbarch, sparc_dummy_id);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
set_gdbarch_unwind_pc (gdbarch, sparc_unwind_pc);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
frame_base_set_default (gdbarch, &sparc32_frame_base);
/* Hook in the DWARF CFI frame unwinder. */
dwarf2_frame_set_init_reg (gdbarch, sparc32_dwarf2_frame_init_reg);
/* FIXME: kettenis/20050423: Don't enable the unwinder until the
StackGhost issues have been resolved. */
/* Hook in ABI-specific overrides, if they have been registered. */
gdbarch_init_osabi (info, gdbarch);
frame_unwind_append_unwinder (gdbarch, &sparc32_frame_unwind);
/* If we have register sets, enable the generic core file support. */
if (tdep->gregset)
set_gdbarch_regset_from_core_section (gdbarch,
sparc_regset_from_core_section);
register_sparc_ravenscar_ops (gdbarch);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
return gdbarch;
}
/* Helper functions for dealing with register windows. */
void
sparc_supply_rwindow (struct regcache *regcache, CORE_ADDR sp, int regnum)
{
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
struct gdbarch *gdbarch = get_regcache_arch (regcache);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int offset = 0;
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
gdb_byte buf[8];
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int i;
if (sp & 1)
{
/* Registers are 64-bit. */
sp += BIAS;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
{
if (regnum == i || regnum == -1)
{
target_read_memory (sp + ((i - SPARC_L0_REGNUM) * 8), buf, 8);
/* Handle StackGhost. */
if (i == SPARC_I7_REGNUM)
{
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
ULONGEST wcookie = sparc_fetch_wcookie (gdbarch);
ULONGEST i7;
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
i7 = extract_unsigned_integer (buf + offset, 8, byte_order);
store_unsigned_integer (buf + offset, 8, byte_order,
i7 ^ wcookie);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
regcache_raw_supply (regcache, i, buf);
}
}
}
else
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Registers are 32-bit. Toss any sign-extension of the stack
pointer. */
sp &= 0xffffffffUL;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Clear out the top half of the temporary buffer, and put the
register value in the bottom half if we're in 64-bit mode. */
if (gdbarch_ptr_bit (get_regcache_arch (regcache)) == 64)
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
memset (buf, 0, 4);
offset = 4;
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
{
if (regnum == i || regnum == -1)
{
target_read_memory (sp + ((i - SPARC_L0_REGNUM) * 4),
buf + offset, 4);
/* Handle StackGhost. */
if (i == SPARC_I7_REGNUM)
{
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
ULONGEST wcookie = sparc_fetch_wcookie (gdbarch);
ULONGEST i7;
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
i7 = extract_unsigned_integer (buf + offset, 4, byte_order);
store_unsigned_integer (buf + offset, 4, byte_order,
i7 ^ wcookie);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
regcache_raw_supply (regcache, i, buf);
}
}
}
}
void
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
sparc_collect_rwindow (const struct regcache *regcache,
CORE_ADDR sp, int regnum)
{
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
struct gdbarch *gdbarch = get_regcache_arch (regcache);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int offset = 0;
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
gdb_byte buf[8];
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int i;
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (sp & 1)
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Registers are 64-bit. */
sp += BIAS;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
{
if (regnum == -1 || regnum == SPARC_SP_REGNUM || regnum == i)
{
regcache_raw_collect (regcache, i, buf);
/* Handle StackGhost. */
if (i == SPARC_I7_REGNUM)
{
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
ULONGEST wcookie = sparc_fetch_wcookie (gdbarch);
ULONGEST i7;
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
i7 = extract_unsigned_integer (buf + offset, 8, byte_order);
store_unsigned_integer (buf, 8, byte_order, i7 ^ wcookie);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
target_write_memory (sp + ((i - SPARC_L0_REGNUM) * 8), buf, 8);
}
}
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
}
else
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Registers are 32-bit. Toss any sign-extension of the stack
pointer. */
sp &= 0xffffffffUL;
/* Only use the bottom half if we're in 64-bit mode. */
if (gdbarch_ptr_bit (get_regcache_arch (regcache)) == 64)
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
offset = 4;
for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
{
if (regnum == -1 || regnum == SPARC_SP_REGNUM || regnum == i)
{
regcache_raw_collect (regcache, i, buf);
/* Handle StackGhost. */
if (i == SPARC_I7_REGNUM)
{
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
ULONGEST wcookie = sparc_fetch_wcookie (gdbarch);
ULONGEST i7;
* defs.h (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. * findvar.c (extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * gdbcore.h (read_memory_integer, safe_read_memory_integer, read_memory_unsigned_integer, write_memory_signed_integer, write_memory_unsigned_integer): Add BYTE_ORDER parameter. * corefile.c (struct captured_read_memory_integer_arguments): Add BYTE_ORDER member. (safe_read_memory_integer): Add BYTE_ORDER parameter. Store it into struct captured_read_memory_integer_arguments. (do_captured_read_memory_integer): Pass it to read_memory_integer. (read_memory_integer): Add BYTE_ORDER parameter. Pass it to extract_signed_integer. (read_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. (write_memory_signed_integer): Add BYTE_ORDER parameter. Pass it to store_signed_integer. (write_memory_unsigned_integer): Add BYTE_ORDER parameter. Pass it to store_unsigned_integer. * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter. * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter. Pass it to extract_unsigned_integer. Update calls to extract_signed_integer, extract_unsigned_integer, extract_long_unsigned_integer, store_signed_integer, store_unsigned_integer, read_memory_integer, read_memory_unsigned_integer, safe_read_memory_integer, write_memory_signed_integer, write_memory_unsigned_integer, and get_target_memory_unsigned to pass byte order: * ada-lang.c (ada_value_binop): Update. * ada-valprint.c (char_at): Update. * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update. * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call, alpha_extract_return_value, alpha_read_insn, alpha_get_longjmp_target): Update. * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update. * amd64obsd-tdep.c (amd64obsd_supply_uthread, amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update. * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue, amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel, amd64_displaced_step_fixup): Update. * arm-linux-tdep.c (arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update. * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc, arm_get_next_pc, arm_extract_return_value, arm_store_return_value, arm_return_value): Update. * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update. * auxv.c (default_auxv_parse): Update. * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address, avr_scan_prologue, avr_extract_return_value, avr_frame_prev_register, avr_push_dummy_call): Update. * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset, bsd_uthread_wait, bsd_uthread_thread_alive, bsd_uthread_extra_thread_info): Update. * c-lang.c (c_printstr, print_wchar): Update. * cp-valprint.c (cp_print_class_member): Update. * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache, cris_push_dummy_call, cris_scan_prologue, cris_store_return_value, cris_extract_return_value, find_step_target, dip_prefix, sixteen_bit_offset_branch_op, none_reg_mode_jump_op, move_mem_to_reg_movem_op, get_data_from_address): Update. * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update. * dwarf2-frame.c (execute_cfa_program): Update. * dwarf2loc.c (find_location_expression): Update. * dwarf2read.c (dwarf2_const_value): Update. * expprint.c (print_subexp_standard): Update. * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address, unsigned_address_to_pointer, address_to_signed_pointer, read_var_value): Update. * frame.c (frame_unwind_register_signed, frame_unwind_register_unsigned, get_frame_memory_signed, get_frame_memory_unsigned): Update. * frame-unwind.c (frame_unwind_got_constant): Update. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp, frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache): Update. * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue, frv_extract_return_value, find_func_descr, frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update. * f-valprint.c (f_val_print): Update. * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr): Update. * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue, h8300_push_dummy_call, h8300_extract_return_value, h8300h_extract_return_value, h8300_store_return_value, h8300h_store_return_value): Update. * hppabsd-tdep.c (hppabsd_find_global_pointer): Update. * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register): Update. * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline, hppa64_hpux_in_solib_call_trampoline, hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code, hppa_hpux_sigtramp_frame_unwind_cache, hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer, hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern, hppa32_hpux_search_dummy_call_sequence, hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state, hppa_hpux_unwind_adjust_stub): Update. * hppa-linux-tdep.c (insns_match_pattern, hppa_linux_find_global_pointer): Update. * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call, hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call, skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache, hppa_pseudo_register_read, hppa_frame_prev_register_helper, hppa_match_insns): Update. * hpux-thread.c (hpux_thread_fetch_registers): Update. * i386-tdep.c (i386bsd_sigcontext_addr): Update. * i386-cygwin-tdep.c (core_process_module_section): Update. * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn, amd64_darwin_sstep_at_sigreturn): Update. * i386-darwin-tdep.c (i386_darwin_sigcontext_addr, amd64_darwin_sigcontext_addr): Likewise. * i386-linux-nat.c (i386_linux_sigcontext_addr): Update. * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update. * i386-nto-tdep.c (i386nto_sigcontext_addr): Update. * i386obsd-nat.c (i386obsd_supply_pcb): Update. * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread, i386obsd_trapframe_cache): Update. * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump, i386_analyze_frame_setup, i386_analyze_prologue, i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache, i386_get_longjmp_target, i386_push_dummy_call, i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr, i386_fetch_pointer_argument): Update. * i387-tdep.c (i387_supply_fsave): Update. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update. * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write, examine_prologue, ia64_frame_cache, ia64_frame_prev_register, ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register, ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id, ia64_libunwind_frame_prev_register, ia64_libunwind_sigtramp_frame_this_id, ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer, find_extant_func_descr, find_func_descr, ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id, ia64_unwind_pc): Update. * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer, iq2000_scan_prologue, iq2000_extract_return_value, iq2000_push_dummy_call): Update. * irix5nat.c (fill_gregset): Update. * jv-lang.c (evaluate_subexp_java): Update. * jv-valprint.c (java_value_print): Update. * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, lm32_extract_return_value, lm32_store_return_value): Update. * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value, m32c_skip_trampoline_code, m32c_m16c_address_to_pointer, m32c_m16c_pointer_to_address): Update. * m32r-tdep.c (m32r_store_return_value, decode_prologue, m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value): Update. * m68hc11-tdep.c (m68hc11_pseudo_register_read, m68hc11_pseudo_register_write, m68hc11_analyze_instruction, m68hc11_push_dummy_call): Update. * m68linux-tdep.c (m68k_linux_pc_in_sigtramp, m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Update. * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup, m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache, m68k_get_longjmp_target): Update. * m88k-tdep.c (m88k_fetch_instruction): Update. * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write, mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update. * mi/mi-main.c (mi_cmd_data_write_memory): Update. * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg, mips64_linux_get_longjmp_target, mips64_fill_gregset, mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update. * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update. * mips-tdep.c (mips_fetch_instruction, fetch_mips_16, mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call, mips_o32_push_dummy_call, mips_o64_push_dummy_call, mips_single_step_through_delay, mips_skip_pic_trampoline_code, mips_integer_to_address): Update. * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call): Update. * monitor.c (monitor_supply_register, monitor_write_memory, monitor_read_memory_single): Update. * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value, moxie_analyze_prologue): Update. * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor, mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info, mt_push_dummy_call): Update. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class, find_implementation_from_class): Update. * ppc64-linux-tdep.c (ppc64_desc_entry_point, ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache): Update. * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer, ppcobsd_sigtramp_frame_cache): Update. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call, do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call, ppc64_sysv_abi_return_value): Update. * ppc-linux-nat.c (ppc_linux_auxv_parse): Update. * procfs.c (procfs_auxv_parse): Update. * p-valprint.c (pascal_val_print): Update. * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned, regcache_raw_write_signed, regcache_raw_write_unsigned, regcache_cooked_read_signed, regcache_cooked_read_unsigned, regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update. * remote-m32r-sdi.c (m32r_fetch_register): Update. * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory): Update. * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value, rs6000_convert_from_func_ptr_addr, branch_dest, rs6000_software_single_step): Update. * rs6000-tdep.c (rs6000_in_function_epilogue_p, ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence, bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue, rs6000_skip_main_prologue, rs6000_skip_trampoline_code, rs6000_frame_cache): Update. * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write, s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load, s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache, extend_simple_arg, s390_push_dummy_call, s390_return_value): Update. * scm-exp.c (scm_lreadr): Update. * scm-lang.c (scm_get_field, scm_unpack): Update. * scm-valprint.c (scm_val_print): Update. * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call, score_fetch_inst): Update. * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way, sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value, sh64_pseudo_register_read, sh64_pseudo_register_write, sh64_frame_prev_register): Update: * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu, sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu, sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update. * solib-darwin.c (darwin_load_image_infos): Update. * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2, find_canonical_descriptor_in_load_object): Update. * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Update. * solib-som.c (som_solib_create_inferior_hook, link_map_start, som_current_sos, som_open_symbol_file_object): Update. * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME): Update. * solib-svr4.c (read_program_header, scan_dyntag_auxv, solib_svr4_r_ldsomap): Update. * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update. * sparc64obsd-tdep.c (sparc64obsd_supply_uthread, sparc64obsd_collect_uthread): Update. * sparc64-tdep.c (sparc64_pseudo_register_read, sparc64_pseudo_register_write, sparc64_supply_gregset, sparc64_collect_gregset): Update. * sparc-linux-tdep.c (sparc32_linux_step_trap): Update. * sparcobsd-tdep.c (sparc32obsd_supply_uthread, sparc32obsd_collect_uthread): Update. * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code, sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow, sparc_collect_rwindow): Update. * spu-linux-nat.c (parse_spufs_run): Update. * spu-tdep.c (spu_pseudo_register_read_spu, spu_pseudo_register_write_spu, spu_pointer_to_address, spu_analyze_prologue, spu_in_function_epilogue_p, spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step, spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect, info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist, info_spu_dma_command, info_spu_proxydma_command): Update. * stack.c (print_frame_nameless_args, frame_info): Update. * symfile.c (read_target_long_array, simple_read_overlay_table, simple_read_overlay_region_table): Update. * target.c (debug_print_register): Update. * tramp-frame.c (tramp_frame_start): Update. * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call, v850_extract_return_value, v850_store_return_value, * valarith.c (value_binop, value_bit_index): Update. * valops.c (value_cast): Update. * valprint.c (val_print_type_code_int, val_print_string, read_string): Update. * value.c (unpack_long, unpack_double, unpack_field_as_long, modify_field, pack_long): Update. * vax-tdep.c (vax_store_arguments, vax_push_dummy_call, vax_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_push_dummy_call, xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p, xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry, xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update. * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read, xtensa_pseudo_register_write, xtensa_frame_cache, xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update. * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. * dfp.c (match_endianness): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. (decimal_to_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter. Pass it to match_endianness. (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT parameters. Pass them to match_endianness. (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters. Pass them to match_endianness. (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters. Pass them to match_endianness. * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and BYTE_ORDER_Y output parameters. (value_binop): Update call to value_args_as_decimal. Update calls to decimal_to_string, decimal_from_string, decimal_from_integral, decimal_from_floating, decimal_to_doublest, decimal_is_zero, decimal_binop, decimal_compare and decimal_convert to pass/receive byte order: * c-exp.y (parse_number): Update. * printcmd.c (printf_command): Update. * valarith.c (value_args_as_decimal, value_binop, value_logical_not, value_equal, value_less): Update. * valops.c (value_cast, value_one): Update. * valprint.c (print_decimal_floating): Update. * value.c (unpack_long, unpack_double): Update. * python/python-value.c (valpy_nonzero): Update. * ada-valprint.c (char_at): Add BYTE_ORDER parameter. (printstr): Update calls to char_at. (ada_val_print_array): Likewise. * valprint.c (read_string): Add BYTE_ORDER parameter. (val_print_string): Update call to read_string. * c-lang.c (c_get_string): Likewise. * charset.h (target_wide_charset): Add BYTE_ORDER parameter. * charset.c (target_wide_charset): Add BYTE_ORDER parameter. Use it instead of current_gdbarch. * printcmd.c (printf_command): Update calls to target_wide_charset. * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter. Pass to target_wide_charset. Use it instead of current_gdbarch. (classify_type): Add BYTE_ORDER parameter. Pass to charset_for_string_type. Allow NULL encoding pointer. (print_wchar): Add BYTE_ORDER parameter. (c_emit_char): Update calls to classify_type and print_wchar. (c_printchar, c_printstr): Likewise. * gdbarch.sh (in_solib_return_trampoline): Convert to type "m". * gdbarch.c, gdbarch.h: Regenerate. * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH parameter. * arch-utils.c (generic_in_solib_return_trampoline): Likewise. * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise. * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise. (rs6000_skip_trampoline_code): Update call. * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to dynamic_sigtramp_offset and pc_in_sigtramp callbacks. (alpha_read_insn): Add GDBARCH parameter. * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter. (alpha_register_to_value): Pass architecture to alpha_sts. (alpha_extract_return_value): Likewise. (alpha_value_to_register): Pass architecture to alpha_lds. (alpha_store_return_value): Likewise. (alpha_read_insn): Add GDBARCH parameter. (alpha_skip_prologue): Pass architecture to alpha_read_insn. (alpha_heuristic_proc_start): Likewise. (alpha_heuristic_frame_unwind_cache): Likewise. (alpha_next_pc): Likewise. (alpha_sigtramp_frame_this_id): Pass architecture to tdep->dynamic_sigtramp_offset callback. (alpha_sigtramp_frame_sniffer): Pass architecture to tdep->pc_in_sigtramp callback. * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter. (alphafbsd_sigtramp_offset): Likewise. * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH parameter. Pass to alpha_read_insn. (alpha_linux_sigtramp_offset): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset_1. (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_linux_sigtramp_offset. (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn and alpha_linux_sigtramp_offset. * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter. (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alphanbsd_sigtramp_offset. * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter. (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter. Pass to alpha_read_insn. (alphaobsd_sigcontext_addr): Pass architecture to alphaobsd_sigtramp_offset. * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH parameter. * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter. (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue. (amd64_frame_cache): Likewise. * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove. (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue, thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros. * arm-wince-tdep.c: Include "frame.h". * avr-tdep.c (EXTRACT_INSN): Remove. (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN. (avr_skip_prologue): Pass architecture to avr_scan_prologue. (avr_frame_unwind_cache): Likewise. * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member. (find_step_target): Initialize it. (get_data_from_address): Add BYTE_ORDER parameter. (bdap_prefix): Pass byte order to get_data_from_address. (handle_prefix_assign_mode_for_aritm_op): Likewise. (three_operand_add_sub_cmp_and_or_op): Likewise. (handle_inc_and_index_mode_for_aritm_op): Likewise. * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter. (frv_linux_sigcontext_reg_addr): Pass architecture to frv_linux_pc_in_sigtramp. (frv_linux_sigtramp_frame_sniffer): Likewise. * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter. (h8300_analyze_prologue): Add GDBARCH parameter. Pass to h8300_is_argument_spill. (h8300_frame_cache, h8300_skip_prologue): Pass architecture to h8300_analyze_prologue. * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to in_solib_call_trampoline callback. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH parameter. (hppa64_push_dummy_call): Pass architecture to hppa64_convert_code_addr_to_fptr. (hppa_match_insns): Add GDBARCH parameter. (hppa_match_insns_relaxed): Add GDBARCH parameter. Pass to hppa_match_insns. (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns. (hppa_in_solib_call_trampoline): Add GDBARCH parameter. Pass to hppa_match_insns_relaxed. (hppa_stub_unwind_sniffer): Pass architecture to tdep->in_solib_call_trampoline callback. * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter. (hppa32_hpux_search_dummy_call_sequence): Pass architecture to hppa_hpux_search_pattern. * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter. (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter. Pass to insns_match_pattern. (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to hppa_linux_sigtramp_find_sigcontext. (hppa_linux_sigtramp_frame_sniffer): Likewise. (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter. (hppa64_hpux_in_solib_call_trampoline): Likewise. * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter. (i386_analyze_frame_setup): Add GDBARCH parameter. (i386_analyze_prologue): Add GDBARCH parameter. Pass to i386_follow_jump and i386_analyze_frame_setup. (i386_skip_prologue): Pass architecture to i386_analyze_prologue and i386_follow_jump. (i386_frame_cache): Pass architecture to i386_analyze_prologue. (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter. * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass frame to i386_pe_skip_trampoline_code. * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to sigcontext_register_address callback. * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter. (ia64_find_unwind_table): Pass architecture to ia64_find_global_pointer. (find_extant_func_descr): Add GDBARCH parameter. (find_func_descr): Pass architecture to find_extant_func_descr and ia64_find_global_pointer. (ia64_sigtramp_frame_init_saved_regs): Pass architecture to tdep->sigcontext_register_address callback. * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add GDBARCH parameter. * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter. (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue. * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter. (lm32_skip_prologue, lm32_frame_cache): Pass architecture to lm32_analyze_prologue. * m32r-tdep.c (decode_prologue): Add GDBARCH parameter. (m32r_skip_prologue): Pass architecture to decode_prologue. * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter. (m68hc11_scan_prologue): Pass architecture to m68hc11_analyze_instruction. * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter. (m68k_analyze_prologue): Pass architecture to m68k_analyze_frame_setup. * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter. (m88k_analyze_prologue): Add GDBARCH parameter. Pass byte order to m88k_fetch_instruction. (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue. (m88k_frame_cache): Likewise. * mep-tdep.c (mep_get_insn): Add GDBARCH parameter. (mep_analyze_prologue): Pass architecture to mep_get_insn. * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter. (mips32_next_pc): Pass architecture to mips_fetch_instruction. (deal_with_atomic_sequence): Likewise. (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction. (mips16_scan_prologue): Likewise. (mips32_scan_prologue): Likewise. (mips16_in_function_epilogue_p): Likewise. (mips32_in_function_epilogue_p): Likewise. (mips_about_to_return): Likewise. (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue. (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue. (mips_skip_prologue): Pass architecture to mips16_scan_prologue and mips32_scan_prologue. (mips_in_function_epilogue_p): Pass architecture to mips16_in_function_epilogue_p and mips32_in_function_epilogue_p. (heuristic_proc_start): Pass architecture to mips_fetch_instruction and mips_about_to_return. (mips_skip_mips16_trampoline_code): Pass architecture to mips_fetch_instruction. (fetch_mips_16): Add GDBARCH parameter. (mips16_next_pc): Pass architecture to fetch_mips_16. (extended_mips16_next_pc): Pass architecture to unpack_mips16 and fetch_mips_16. * objc-lang.c (read_objc_method, read_objc_methlist_nmethods, read_objc_methlist_method, read_objc_object, read_objc_super, read_objc_class): Add GDBARCH parameter. (find_implementation_from_class): Add GDBARCH parameter, pass to read_objc_class, read_objc_methlist_nmethods, and read_objc_methlist_method. (find_implementation): Add GDBARCH parameter, pass to read_objc_object and find_implementation_from_class. (resolve_msgsend, resolve_msgsend_stret): Pass architecture to find_implementation. (resolve_msgsend_super, resolve_msgsend_super_stret): Pass architecture to read_objc_super and find_implementation_from_class. * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter. (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): Pass architecture to ppc64_desc_entry_point. * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter. (skip_prologue): Pass byte order to bl_to_blrl_insn_p. (rs6000_fetch_instruction): Add GDBARCH parameter. (rs6000_skip_stack_check): Add GDBARCH parameter, pass to rs6000_fetch_instruction. (skip_prologue): Pass architecture to rs6000_fetch_instruction. * remote-mips.c (mips_store_word): Return old_contents as host integer value instead of target bytes. * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member. (s390_analyze_prologue): Initialize it. (extend_simple_arg): Add GDBARCH parameter. (s390_push_dummy_call): Pass architecture to extend_simple_arg. * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter. * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter. (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field. * scm-valprint.c (scm_scmval_print): Likewise. (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define SCM_BYTE_ORDER. * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter. (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to look_for_args_moves. (sh64_skip_prologue): Pass architecture to sh64_skip_prologue_hard_way. * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter. (sh_skip_prologue): Pass architecture to sh_analyze_prologue. (sh_frame_cache): Likewise. * solib-irix.c (extract_mips_address): Add GDBARCH parameter. (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object): Pass architecture to extract_mips_address. * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter. * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter. (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture to sparc_fetch_wcookie. (sparc32_frame_prev_register): Likewise. * sparc64-tdep.c (sparc64_frame_prev_register): Likewise. * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise. * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter. (spu_skip_prologue): Pass architecture to spu_analyze_prologue. (spu_virtual_frame_pointer): Likewise. (spu_frame_unwind_cache): Likewise. (info_spu_mailbox_list): Add BYTE_ORER parameter. (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list. (info_spu_dma_cmdlist): Add BYTE_ORER parameter. (info_spu_dma_command, info_spu_proxydma_command): Pass byte order to info_spu_dma_cmdlist. * symfile.c (read_target_long_array): Add GDBARCH parameter. (simple_read_overlay_table, simple_read_overlay_region_table, simple_overlay_update_1): Pass architecture to read_target_long_array. * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter. (v850_frame_cache): Pass architecture to v850_analyze_prologue. * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH parameter. (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture to xstormy16_analyze_prologue. (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter. (xstormy16_find_jmp_table_entry): Likewise. (xstormy16_skip_trampoline_code): Pass architecture to xstormy16_resolve_jmp_table_entry. (xstormy16_pointer_to_address): Likewise. (xstormy16_address_to_pointer): Pass architecture to xstormy16_find_jmp_table_entry. * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter. (call0_analyze_prologue): Add GDBARCH parameter, pass to call0_track_op. (call0_frame_cache): Pass architecture to call0_analyze_prologue. (xtensa_skip_prologue): Likewise.
2009-07-03 01:25:59 +08:00
i7 = extract_unsigned_integer (buf + offset, 4, byte_order);
store_unsigned_integer (buf + offset, 4, byte_order,
i7 ^ wcookie);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
target_write_memory (sp + ((i - SPARC_L0_REGNUM) * 4),
buf + offset, 4);
}
}
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
}
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Helper functions for dealing with register sets. */
void
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
sparc32_supply_gregset (const struct sparc_gregset *gregset,
struct regcache *regcache,
int regnum, const void *gregs)
{
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
const gdb_byte *regs = gregs;
gdb_byte zero[4] = { 0 };
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int i;
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC32_PSR_REGNUM || regnum == -1)
regcache_raw_supply (regcache, SPARC32_PSR_REGNUM,
regs + gregset->r_psr_offset);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC32_PC_REGNUM || regnum == -1)
regcache_raw_supply (regcache, SPARC32_PC_REGNUM,
regs + gregset->r_pc_offset);
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC32_NPC_REGNUM || regnum == -1)
regcache_raw_supply (regcache, SPARC32_NPC_REGNUM,
regs + gregset->r_npc_offset);
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC32_Y_REGNUM || regnum == -1)
regcache_raw_supply (regcache, SPARC32_Y_REGNUM,
regs + gregset->r_y_offset);
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC_G0_REGNUM || regnum == -1)
regcache_raw_supply (regcache, SPARC_G0_REGNUM, &zero);
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_O7_REGNUM) || regnum == -1)
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int offset = gregset->r_g1_offset;
for (i = SPARC_G1_REGNUM; i <= SPARC_O7_REGNUM; i++)
{
if (regnum == i || regnum == -1)
regcache_raw_supply (regcache, i, regs + offset);
offset += 4;
}
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if ((regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM) || regnum == -1)
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Not all of the register set variants include Locals and
Inputs. For those that don't, we read them off the stack. */
if (gregset->r_l0_offset == -1)
{
ULONGEST sp;
regcache_cooked_read_unsigned (regcache, SPARC_SP_REGNUM, &sp);
sparc_supply_rwindow (regcache, sp, regnum);
}
else
{
int offset = gregset->r_l0_offset;
for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
{
if (regnum == i || regnum == -1)
regcache_raw_supply (regcache, i, regs + offset);
offset += 4;
}
}
}
}
1999-07-08 04:19:36 +08:00
void
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
sparc32_collect_gregset (const struct sparc_gregset *gregset,
const struct regcache *regcache,
int regnum, void *gregs)
{
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
gdb_byte *regs = gregs;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int i;
1999-07-08 04:19:36 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC32_PSR_REGNUM || regnum == -1)
regcache_raw_collect (regcache, SPARC32_PSR_REGNUM,
regs + gregset->r_psr_offset);
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC32_PC_REGNUM || regnum == -1)
regcache_raw_collect (regcache, SPARC32_PC_REGNUM,
regs + gregset->r_pc_offset);
if (regnum == SPARC32_NPC_REGNUM || regnum == -1)
regcache_raw_collect (regcache, SPARC32_NPC_REGNUM,
regs + gregset->r_npc_offset);
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC32_Y_REGNUM || regnum == -1)
regcache_raw_collect (regcache, SPARC32_Y_REGNUM,
regs + gregset->r_y_offset);
if ((regnum >= SPARC_G1_REGNUM && regnum <= SPARC_O7_REGNUM) || regnum == -1)
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int offset = gregset->r_g1_offset;
/* %g0 is always zero. */
for (i = SPARC_G1_REGNUM; i <= SPARC_O7_REGNUM; i++)
{
if (regnum == i || regnum == -1)
regcache_raw_collect (regcache, i, regs + offset);
offset += 4;
}
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if ((regnum >= SPARC_L0_REGNUM && regnum <= SPARC_I7_REGNUM) || regnum == -1)
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Not all of the register set variants include Locals and
Inputs. For those that don't, we read them off the stack. */
if (gregset->r_l0_offset != -1)
{
int offset = gregset->r_l0_offset;
for (i = SPARC_L0_REGNUM; i <= SPARC_I7_REGNUM; i++)
{
if (regnum == i || regnum == -1)
regcache_raw_collect (regcache, i, regs + offset);
offset += 4;
}
}
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
}
}
void
Fix Sparc %fsr regset offset for BSD and Linux. gdb/ * sparc-tdep.h (struct sparc_fpregset): New data structure. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset, sparc32_sol2_fpregset): Declare new globals. (sparc32_supply_fpregset, sparc32_collect_fpregset): Add new 'fpregset' argument. * sparc64-tdep.h (sparc64_supply_fpregset, sparc64_collect_fpregset): Likewise. (sparc64_sol2_fpregset, sparc64_bsd_fpregset): Declare new globals. * sparc-nat.h (struct sparc_fpregset): Add forward declaration. (sparc_fpregset): Declare new global. (sparc_supply_fpregset, sparc_collect_fpregset): Add new 'fpregset' argument. * sparc-linux-nat.c (supply_fpregset): Pass sparc_fpregset down into handler. (fill_fpregset): Likewise. (_initialize_sparc_linux_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparc-linux-tdep.c (sparc32_linux_supply_core_fpregset): Pass sparc32_bsd_fpregset down into handler. (sparc32_linux_collect_core_fpregset): Likewise. * sparc-nat.c (sparc_fpregset): Define. (sparc_supply_fpregset): Add 'fpregset' argument. (sparc_collect_fpregset): Likewise. (sparc_fetch_inferior_registers): Pass sparc_fpregset down into fpregset handler. (sparc_store_inferior_registers): Likewise. (_initialize_sparc_nat): Set sparc_fpregset to sparc32_sunos4_fpregset if NULL. * sparc-sol2-nat.c (supply_gregset): Pass sparc_sol2_fpregset down into handler. (fill_fpregset): Likewise. * sparc-sol2-tdep.c (sparc32_sol2_fpregset): Define. * sparc-tdep.c (sparc32_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc32_collect_fpregset): Likewise. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset): Define. * sparc64-linux-nat.c (supply_fpregset): Pass sparc64_bsd_fpregset down into handler. (fill_fpregset): Likewise. * sparc64-linux-tdep.c (sparc64_linux_supply_core_fpregset): Likewise. (sparc64_linux_collect_core_fpregset): Likewise. * sparc64-sol2-tdep.c (sparc64_sol2_fpregset): Define. * sparc64-tdep.c (sparc64_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc64_collect_fpregset): Likewise. (sparc64_bsd_fpregset): Define. * sparc64fbsd-tdep.c (sparc64fbsd_supply_fpregset): Padd sparc64_bsd_fpregset down into handler. (sparc64fbsd_collect_fpregset): Likewise. * sparc64nbsd-nat.c (sparc64nbsd_supply_fpregset): Add fpregset arg and pass sparc{32,64}_bsd_fpregset down into handler. (sparc64nbsd_collect_fpregset): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_supply_fpregset): Pass sparc64_bsd_fpregset down into handler. * sparc64obsd-tdep.c (sparc64obsd_supply_gregset): Likewise. * sparcnbsd-nat.c (_initialize_sparcnbsd_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparcnbsd-tdep.c (sparc32nbsd_supply_gregset): Pass sparc32_bsd_fpregset down into sparc32_supply_fpregset. (sparc32nbsd_supply_fpregset): Likewise.
2012-11-24 04:30:23 +08:00
sparc32_supply_fpregset (const struct sparc_fpregset *fpregset,
struct regcache *regcache,
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int regnum, const void *fpregs)
{
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
const gdb_byte *regs = fpregs;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int i;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
for (i = 0; i < 32; i++)
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1)
Fix Sparc %fsr regset offset for BSD and Linux. gdb/ * sparc-tdep.h (struct sparc_fpregset): New data structure. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset, sparc32_sol2_fpregset): Declare new globals. (sparc32_supply_fpregset, sparc32_collect_fpregset): Add new 'fpregset' argument. * sparc64-tdep.h (sparc64_supply_fpregset, sparc64_collect_fpregset): Likewise. (sparc64_sol2_fpregset, sparc64_bsd_fpregset): Declare new globals. * sparc-nat.h (struct sparc_fpregset): Add forward declaration. (sparc_fpregset): Declare new global. (sparc_supply_fpregset, sparc_collect_fpregset): Add new 'fpregset' argument. * sparc-linux-nat.c (supply_fpregset): Pass sparc_fpregset down into handler. (fill_fpregset): Likewise. (_initialize_sparc_linux_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparc-linux-tdep.c (sparc32_linux_supply_core_fpregset): Pass sparc32_bsd_fpregset down into handler. (sparc32_linux_collect_core_fpregset): Likewise. * sparc-nat.c (sparc_fpregset): Define. (sparc_supply_fpregset): Add 'fpregset' argument. (sparc_collect_fpregset): Likewise. (sparc_fetch_inferior_registers): Pass sparc_fpregset down into fpregset handler. (sparc_store_inferior_registers): Likewise. (_initialize_sparc_nat): Set sparc_fpregset to sparc32_sunos4_fpregset if NULL. * sparc-sol2-nat.c (supply_gregset): Pass sparc_sol2_fpregset down into handler. (fill_fpregset): Likewise. * sparc-sol2-tdep.c (sparc32_sol2_fpregset): Define. * sparc-tdep.c (sparc32_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc32_collect_fpregset): Likewise. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset): Define. * sparc64-linux-nat.c (supply_fpregset): Pass sparc64_bsd_fpregset down into handler. (fill_fpregset): Likewise. * sparc64-linux-tdep.c (sparc64_linux_supply_core_fpregset): Likewise. (sparc64_linux_collect_core_fpregset): Likewise. * sparc64-sol2-tdep.c (sparc64_sol2_fpregset): Define. * sparc64-tdep.c (sparc64_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc64_collect_fpregset): Likewise. (sparc64_bsd_fpregset): Define. * sparc64fbsd-tdep.c (sparc64fbsd_supply_fpregset): Padd sparc64_bsd_fpregset down into handler. (sparc64fbsd_collect_fpregset): Likewise. * sparc64nbsd-nat.c (sparc64nbsd_supply_fpregset): Add fpregset arg and pass sparc{32,64}_bsd_fpregset down into handler. (sparc64nbsd_collect_fpregset): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_supply_fpregset): Pass sparc64_bsd_fpregset down into handler. * sparc64obsd-tdep.c (sparc64obsd_supply_gregset): Likewise. * sparcnbsd-nat.c (_initialize_sparcnbsd_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparcnbsd-tdep.c (sparc32nbsd_supply_gregset): Pass sparc32_bsd_fpregset down into sparc32_supply_fpregset. (sparc32nbsd_supply_fpregset): Likewise.
2012-11-24 04:30:23 +08:00
regcache_raw_supply (regcache, SPARC_F0_REGNUM + i,
regs + fpregset->r_f0_offset + (i * 4));
}
2000-05-10 Michael Snyder <msnyder@seadog.cygnus.com> Make Sparc a Multi-Arch target. Discard PARAMS macro (require ANSI). * sparc-tdep.c: include arch-utils.h. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REG NUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET): provide multi-arch-compatible definitions. (GDB_TARGET_IS_SPARC64): make into a runtime test. (struct frame_extra_info): Define, use instead of the macro. (Many places): Use alloca instead of statically allocated buffers that depend on a multi-arch variable such as MAX_REGISTER_RAW_SIZE. (sparc_extract_struct_value_address): Accept a pointer arg instead of an array sized by REGISTER_BYTES. (examine_prologue): Accept a pointer to an array of CORE_ADDR, instead of the defunct struct frame_saved_regs. Recognize new Sparc64 store instructions as part of the prologue. Ignore the destination of a frame store when parsing the prologue (so long as it's on the stack). (sparc_push_dummy_frame): Fix incorrect buffer offset for PSTATE. (sparc_frame_find_saved_regs): Accept a ptr to an array of CORE_ADDR instead of the defunct struct frame_saved_regs. (supply_gregset): Discard unnecessary 'zerobuf': just send NULL to supply_register. Provide 4-byte offset to compensate for diff between size of the prgreg_t elements on a 64-bit host and size of the registers for a 32-bit target. Fill all inaccessible regs with zero so they won't keep being requested again and again. (fill_gregset): Handle 32/64 size difference between registers and prgreg_t. Handle as many new 64-bit regs as possible. (supply_fpregset, fill_fpregset): Attempt to handle 64-bit world. (sparc_push_arguments): Rename to sparc32_push_arguments. Copy arguments into registers as well as onto stack, so that the CALL_DUMMY (code pushed onto the target stack) is not required. (sparc_extract_return_value): Rename to sparc32_extract_return_value. (sparc_store_return_value): Use memset instead of bzero. Use write_register_gen instead of write_register_bytes. (sparclet_store_return_value): New function. (_initialize_sparc_tdep): Call register_gdbarch_init to activate the gdbarch multi-architecture system. (sp64_push_arguments): Rename to sparc64_push_arguments. Extend to store arguments in general registers as well as on stack. (sparc64_extract_return_value): Rename to sp64_extract_return_value. Use as a private function, to be called by the new external function sparc64_extract_return_value. (sparclet_extract_return_value): New function. (sparc32_stack_align, sparc64_stack_align, sparc32_register_name, sparc64_register_name, sparc_print_extra_frame_info, sparclite_register_name, sparclet_register_name, sparc_push_return_address, sparc64_use_struct_convention, sparc32_store_struct_return, sparc64_store_struct_return, sparc32_register_virtual_type, sparc64_register_virtual_type, sparc32_register_size, sparc64_register_size, sparc32_register_byte, sparc64_register_byte, sparc_gdbarch_skip_prologue, sparc_convert_to_virtual, sparc_convert_to_raw, sparc_frame_init_saved_regs, sparc_frame_address, sparc_gdbarch_fix_call_dummy, sparc_coerce_float_to_double, sparc_call_dummy_address, sparc_y_regnum, sparc_reg_struct_has_addr, sparc_intreg_size, sparc_return_value_on_stack): New functions supporting multi-arch. (sparc_gdbarch_init): New function; initialize multi-arch. (struct gdbarch_tdep): Define, use for private multi-arch data. * config/sparc/tm-sparc.h: Move definitions around, enclose with #ifdef GDB_MULTI_ARCH tests, provide some multi-arch alternate definitions. Add enums for register names, to help debugging gdb. This header file must work for non-multi-arch and for multi-arch. * config/sparc/tm-sp64.h: Add GDB_MULTI_ARCH configuration. Also add AT_ENTRY_POINT definitions for CALL_DUMMY, for non-multi-arch case. Define GDB_MULTI_ARCH. * config/sparc/tm-sparclet.h: Add GDB_MULTI_ARCH configuration. Do not define GDB_MULTI_ARCH (bfd does not correctly identify target). * config/sparc/tm-sparclite.h: Ditto. * config/sparc/tm-sun4sol2.h: Define GDB_MULTI_ARCH. * sparclet-rom.c (sparclet_regnames): Initialize explicitly, to avoid using deprecated REGISTER_NAMES macro. * Makefile.in: Let sparc-tdep.c depend on arch-utils.h.
2000-05-11 04:07:25 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC32_FSR_REGNUM || regnum == -1)
Fix Sparc %fsr regset offset for BSD and Linux. gdb/ * sparc-tdep.h (struct sparc_fpregset): New data structure. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset, sparc32_sol2_fpregset): Declare new globals. (sparc32_supply_fpregset, sparc32_collect_fpregset): Add new 'fpregset' argument. * sparc64-tdep.h (sparc64_supply_fpregset, sparc64_collect_fpregset): Likewise. (sparc64_sol2_fpregset, sparc64_bsd_fpregset): Declare new globals. * sparc-nat.h (struct sparc_fpregset): Add forward declaration. (sparc_fpregset): Declare new global. (sparc_supply_fpregset, sparc_collect_fpregset): Add new 'fpregset' argument. * sparc-linux-nat.c (supply_fpregset): Pass sparc_fpregset down into handler. (fill_fpregset): Likewise. (_initialize_sparc_linux_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparc-linux-tdep.c (sparc32_linux_supply_core_fpregset): Pass sparc32_bsd_fpregset down into handler. (sparc32_linux_collect_core_fpregset): Likewise. * sparc-nat.c (sparc_fpregset): Define. (sparc_supply_fpregset): Add 'fpregset' argument. (sparc_collect_fpregset): Likewise. (sparc_fetch_inferior_registers): Pass sparc_fpregset down into fpregset handler. (sparc_store_inferior_registers): Likewise. (_initialize_sparc_nat): Set sparc_fpregset to sparc32_sunos4_fpregset if NULL. * sparc-sol2-nat.c (supply_gregset): Pass sparc_sol2_fpregset down into handler. (fill_fpregset): Likewise. * sparc-sol2-tdep.c (sparc32_sol2_fpregset): Define. * sparc-tdep.c (sparc32_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc32_collect_fpregset): Likewise. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset): Define. * sparc64-linux-nat.c (supply_fpregset): Pass sparc64_bsd_fpregset down into handler. (fill_fpregset): Likewise. * sparc64-linux-tdep.c (sparc64_linux_supply_core_fpregset): Likewise. (sparc64_linux_collect_core_fpregset): Likewise. * sparc64-sol2-tdep.c (sparc64_sol2_fpregset): Define. * sparc64-tdep.c (sparc64_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc64_collect_fpregset): Likewise. (sparc64_bsd_fpregset): Define. * sparc64fbsd-tdep.c (sparc64fbsd_supply_fpregset): Padd sparc64_bsd_fpregset down into handler. (sparc64fbsd_collect_fpregset): Likewise. * sparc64nbsd-nat.c (sparc64nbsd_supply_fpregset): Add fpregset arg and pass sparc{32,64}_bsd_fpregset down into handler. (sparc64nbsd_collect_fpregset): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_supply_fpregset): Pass sparc64_bsd_fpregset down into handler. * sparc64obsd-tdep.c (sparc64obsd_supply_gregset): Likewise. * sparcnbsd-nat.c (_initialize_sparcnbsd_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparcnbsd-tdep.c (sparc32nbsd_supply_gregset): Pass sparc32_bsd_fpregset down into sparc32_supply_fpregset. (sparc32nbsd_supply_fpregset): Likewise.
2012-11-24 04:30:23 +08:00
regcache_raw_supply (regcache, SPARC32_FSR_REGNUM,
regs + fpregset->r_fsr_offset);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
void
Fix Sparc %fsr regset offset for BSD and Linux. gdb/ * sparc-tdep.h (struct sparc_fpregset): New data structure. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset, sparc32_sol2_fpregset): Declare new globals. (sparc32_supply_fpregset, sparc32_collect_fpregset): Add new 'fpregset' argument. * sparc64-tdep.h (sparc64_supply_fpregset, sparc64_collect_fpregset): Likewise. (sparc64_sol2_fpregset, sparc64_bsd_fpregset): Declare new globals. * sparc-nat.h (struct sparc_fpregset): Add forward declaration. (sparc_fpregset): Declare new global. (sparc_supply_fpregset, sparc_collect_fpregset): Add new 'fpregset' argument. * sparc-linux-nat.c (supply_fpregset): Pass sparc_fpregset down into handler. (fill_fpregset): Likewise. (_initialize_sparc_linux_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparc-linux-tdep.c (sparc32_linux_supply_core_fpregset): Pass sparc32_bsd_fpregset down into handler. (sparc32_linux_collect_core_fpregset): Likewise. * sparc-nat.c (sparc_fpregset): Define. (sparc_supply_fpregset): Add 'fpregset' argument. (sparc_collect_fpregset): Likewise. (sparc_fetch_inferior_registers): Pass sparc_fpregset down into fpregset handler. (sparc_store_inferior_registers): Likewise. (_initialize_sparc_nat): Set sparc_fpregset to sparc32_sunos4_fpregset if NULL. * sparc-sol2-nat.c (supply_gregset): Pass sparc_sol2_fpregset down into handler. (fill_fpregset): Likewise. * sparc-sol2-tdep.c (sparc32_sol2_fpregset): Define. * sparc-tdep.c (sparc32_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc32_collect_fpregset): Likewise. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset): Define. * sparc64-linux-nat.c (supply_fpregset): Pass sparc64_bsd_fpregset down into handler. (fill_fpregset): Likewise. * sparc64-linux-tdep.c (sparc64_linux_supply_core_fpregset): Likewise. (sparc64_linux_collect_core_fpregset): Likewise. * sparc64-sol2-tdep.c (sparc64_sol2_fpregset): Define. * sparc64-tdep.c (sparc64_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc64_collect_fpregset): Likewise. (sparc64_bsd_fpregset): Define. * sparc64fbsd-tdep.c (sparc64fbsd_supply_fpregset): Padd sparc64_bsd_fpregset down into handler. (sparc64fbsd_collect_fpregset): Likewise. * sparc64nbsd-nat.c (sparc64nbsd_supply_fpregset): Add fpregset arg and pass sparc{32,64}_bsd_fpregset down into handler. (sparc64nbsd_collect_fpregset): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_supply_fpregset): Pass sparc64_bsd_fpregset down into handler. * sparc64obsd-tdep.c (sparc64obsd_supply_gregset): Likewise. * sparcnbsd-nat.c (_initialize_sparcnbsd_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparcnbsd-tdep.c (sparc32nbsd_supply_gregset): Pass sparc32_bsd_fpregset down into sparc32_supply_fpregset. (sparc32nbsd_supply_fpregset): Likewise.
2012-11-24 04:30:23 +08:00
sparc32_collect_fpregset (const struct sparc_fpregset *fpregset,
const struct regcache *regcache,
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int regnum, void *fpregs)
{
* sparc-tdep.c (sparc_fetch_instruction, sparc_fetch_wcookie): Use gdb_byte for buf. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc32_push_dummy_code, sparc32_store_arguments): Use gdb_byte for buf. (sparc_breakpoint_from_pc): Change return type to `const gdb_byte *'. Use gdb_byte for break_insn. (sparc32_extract_return_value, sparc32_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc32_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc_software_single_step): Use gdb_byte for npc_save and nnpc_save. (sparc_supply_rwindow, sparc_collect_rwindow): Use gdb_byte for buf. (sparc32_supply_gregset, sparc32_collect_gregset) (sparc32_supply_fpregset, sparc32_collect_fpregset): Use `gdb_byte *' for regs. * sparc64-tdep.c (sparc64_pseudo_register_read) (sparc64_pseudo_register_write): Change type of last argument to `gdb_byte *'. Remove casts that are no longer needed. (sparc64_store_floating_fields, sparc64_extract_floating_fields): Change type of valbuf argument to `gfd_byte *'. (sparc64_store_arguments): Use `gdb_byte *' for valbuf. use gdb_byte for buf. (sparc64_extract_return_value, sparc64_store_return_value): Change type of last argument to `gdb_byte *'. Use gdb_byte for buf. (sparc64_return_value): Change type of readbuf and writebuf arguments to `gdb_byte *'. (sparc64_supply_gregset, sparc64_collect_gregset) (sparc64_supply_fpregset, sparc64_collect_fpregset): Use `gdb_byte *' for regs.
2005-05-14 21:45:22 +08:00
gdb_byte *regs = fpregs;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
int i;
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
for (i = 0; i < 32; i++)
{
if (regnum == (SPARC_F0_REGNUM + i) || regnum == -1)
Fix Sparc %fsr regset offset for BSD and Linux. gdb/ * sparc-tdep.h (struct sparc_fpregset): New data structure. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset, sparc32_sol2_fpregset): Declare new globals. (sparc32_supply_fpregset, sparc32_collect_fpregset): Add new 'fpregset' argument. * sparc64-tdep.h (sparc64_supply_fpregset, sparc64_collect_fpregset): Likewise. (sparc64_sol2_fpregset, sparc64_bsd_fpregset): Declare new globals. * sparc-nat.h (struct sparc_fpregset): Add forward declaration. (sparc_fpregset): Declare new global. (sparc_supply_fpregset, sparc_collect_fpregset): Add new 'fpregset' argument. * sparc-linux-nat.c (supply_fpregset): Pass sparc_fpregset down into handler. (fill_fpregset): Likewise. (_initialize_sparc_linux_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparc-linux-tdep.c (sparc32_linux_supply_core_fpregset): Pass sparc32_bsd_fpregset down into handler. (sparc32_linux_collect_core_fpregset): Likewise. * sparc-nat.c (sparc_fpregset): Define. (sparc_supply_fpregset): Add 'fpregset' argument. (sparc_collect_fpregset): Likewise. (sparc_fetch_inferior_registers): Pass sparc_fpregset down into fpregset handler. (sparc_store_inferior_registers): Likewise. (_initialize_sparc_nat): Set sparc_fpregset to sparc32_sunos4_fpregset if NULL. * sparc-sol2-nat.c (supply_gregset): Pass sparc_sol2_fpregset down into handler. (fill_fpregset): Likewise. * sparc-sol2-tdep.c (sparc32_sol2_fpregset): Define. * sparc-tdep.c (sparc32_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc32_collect_fpregset): Likewise. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset): Define. * sparc64-linux-nat.c (supply_fpregset): Pass sparc64_bsd_fpregset down into handler. (fill_fpregset): Likewise. * sparc64-linux-tdep.c (sparc64_linux_supply_core_fpregset): Likewise. (sparc64_linux_collect_core_fpregset): Likewise. * sparc64-sol2-tdep.c (sparc64_sol2_fpregset): Define. * sparc64-tdep.c (sparc64_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc64_collect_fpregset): Likewise. (sparc64_bsd_fpregset): Define. * sparc64fbsd-tdep.c (sparc64fbsd_supply_fpregset): Padd sparc64_bsd_fpregset down into handler. (sparc64fbsd_collect_fpregset): Likewise. * sparc64nbsd-nat.c (sparc64nbsd_supply_fpregset): Add fpregset arg and pass sparc{32,64}_bsd_fpregset down into handler. (sparc64nbsd_collect_fpregset): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_supply_fpregset): Pass sparc64_bsd_fpregset down into handler. * sparc64obsd-tdep.c (sparc64obsd_supply_gregset): Likewise. * sparcnbsd-nat.c (_initialize_sparcnbsd_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparcnbsd-tdep.c (sparc32nbsd_supply_gregset): Pass sparc32_bsd_fpregset down into sparc32_supply_fpregset. (sparc32nbsd_supply_fpregset): Likewise.
2012-11-24 04:30:23 +08:00
regcache_raw_collect (regcache, SPARC_F0_REGNUM + i,
regs + fpregset->r_f0_offset + (i * 4));
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
if (regnum == SPARC32_FSR_REGNUM || regnum == -1)
Fix Sparc %fsr regset offset for BSD and Linux. gdb/ * sparc-tdep.h (struct sparc_fpregset): New data structure. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset, sparc32_sol2_fpregset): Declare new globals. (sparc32_supply_fpregset, sparc32_collect_fpregset): Add new 'fpregset' argument. * sparc64-tdep.h (sparc64_supply_fpregset, sparc64_collect_fpregset): Likewise. (sparc64_sol2_fpregset, sparc64_bsd_fpregset): Declare new globals. * sparc-nat.h (struct sparc_fpregset): Add forward declaration. (sparc_fpregset): Declare new global. (sparc_supply_fpregset, sparc_collect_fpregset): Add new 'fpregset' argument. * sparc-linux-nat.c (supply_fpregset): Pass sparc_fpregset down into handler. (fill_fpregset): Likewise. (_initialize_sparc_linux_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparc-linux-tdep.c (sparc32_linux_supply_core_fpregset): Pass sparc32_bsd_fpregset down into handler. (sparc32_linux_collect_core_fpregset): Likewise. * sparc-nat.c (sparc_fpregset): Define. (sparc_supply_fpregset): Add 'fpregset' argument. (sparc_collect_fpregset): Likewise. (sparc_fetch_inferior_registers): Pass sparc_fpregset down into fpregset handler. (sparc_store_inferior_registers): Likewise. (_initialize_sparc_nat): Set sparc_fpregset to sparc32_sunos4_fpregset if NULL. * sparc-sol2-nat.c (supply_gregset): Pass sparc_sol2_fpregset down into handler. (fill_fpregset): Likewise. * sparc-sol2-tdep.c (sparc32_sol2_fpregset): Define. * sparc-tdep.c (sparc32_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc32_collect_fpregset): Likewise. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset): Define. * sparc64-linux-nat.c (supply_fpregset): Pass sparc64_bsd_fpregset down into handler. (fill_fpregset): Likewise. * sparc64-linux-tdep.c (sparc64_linux_supply_core_fpregset): Likewise. (sparc64_linux_collect_core_fpregset): Likewise. * sparc64-sol2-tdep.c (sparc64_sol2_fpregset): Define. * sparc64-tdep.c (sparc64_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc64_collect_fpregset): Likewise. (sparc64_bsd_fpregset): Define. * sparc64fbsd-tdep.c (sparc64fbsd_supply_fpregset): Padd sparc64_bsd_fpregset down into handler. (sparc64fbsd_collect_fpregset): Likewise. * sparc64nbsd-nat.c (sparc64nbsd_supply_fpregset): Add fpregset arg and pass sparc{32,64}_bsd_fpregset down into handler. (sparc64nbsd_collect_fpregset): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_supply_fpregset): Pass sparc64_bsd_fpregset down into handler. * sparc64obsd-tdep.c (sparc64obsd_supply_gregset): Likewise. * sparcnbsd-nat.c (_initialize_sparcnbsd_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparcnbsd-tdep.c (sparc32nbsd_supply_gregset): Pass sparc32_bsd_fpregset down into sparc32_supply_fpregset. (sparc32nbsd_supply_fpregset): Likewise.
2012-11-24 04:30:23 +08:00
regcache_raw_collect (regcache, SPARC32_FSR_REGNUM,
regs + fpregset->r_fsr_offset);
}
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* SunOS 4. */
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* From <machine/reg.h>. */
const struct sparc_gregset sparc32_sunos4_gregset =
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
0 * 4, /* %psr */
1 * 4, /* %pc */
2 * 4, /* %npc */
3 * 4, /* %y */
-1, /* %wim */
-1, /* %tbr */
4 * 4, /* %g1 */
-1 /* %l0 */
};
Fix Sparc %fsr regset offset for BSD and Linux. gdb/ * sparc-tdep.h (struct sparc_fpregset): New data structure. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset, sparc32_sol2_fpregset): Declare new globals. (sparc32_supply_fpregset, sparc32_collect_fpregset): Add new 'fpregset' argument. * sparc64-tdep.h (sparc64_supply_fpregset, sparc64_collect_fpregset): Likewise. (sparc64_sol2_fpregset, sparc64_bsd_fpregset): Declare new globals. * sparc-nat.h (struct sparc_fpregset): Add forward declaration. (sparc_fpregset): Declare new global. (sparc_supply_fpregset, sparc_collect_fpregset): Add new 'fpregset' argument. * sparc-linux-nat.c (supply_fpregset): Pass sparc_fpregset down into handler. (fill_fpregset): Likewise. (_initialize_sparc_linux_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparc-linux-tdep.c (sparc32_linux_supply_core_fpregset): Pass sparc32_bsd_fpregset down into handler. (sparc32_linux_collect_core_fpregset): Likewise. * sparc-nat.c (sparc_fpregset): Define. (sparc_supply_fpregset): Add 'fpregset' argument. (sparc_collect_fpregset): Likewise. (sparc_fetch_inferior_registers): Pass sparc_fpregset down into fpregset handler. (sparc_store_inferior_registers): Likewise. (_initialize_sparc_nat): Set sparc_fpregset to sparc32_sunos4_fpregset if NULL. * sparc-sol2-nat.c (supply_gregset): Pass sparc_sol2_fpregset down into handler. (fill_fpregset): Likewise. * sparc-sol2-tdep.c (sparc32_sol2_fpregset): Define. * sparc-tdep.c (sparc32_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc32_collect_fpregset): Likewise. (sparc32_sunos4_fpregset, sparc32_bsd_fpregset): Define. * sparc64-linux-nat.c (supply_fpregset): Pass sparc64_bsd_fpregset down into handler. (fill_fpregset): Likewise. * sparc64-linux-tdep.c (sparc64_linux_supply_core_fpregset): Likewise. (sparc64_linux_collect_core_fpregset): Likewise. * sparc64-sol2-tdep.c (sparc64_sol2_fpregset): Define. * sparc64-tdep.c (sparc64_supply_fpregset): Add fpregset arg and use it to compute offsets. (sparc64_collect_fpregset): Likewise. (sparc64_bsd_fpregset): Define. * sparc64fbsd-tdep.c (sparc64fbsd_supply_fpregset): Padd sparc64_bsd_fpregset down into handler. (sparc64fbsd_collect_fpregset): Likewise. * sparc64nbsd-nat.c (sparc64nbsd_supply_fpregset): Add fpregset arg and pass sparc{32,64}_bsd_fpregset down into handler. (sparc64nbsd_collect_fpregset): Likewise. * sparc64nbsd-tdep.c (sparc64nbsd_supply_fpregset): Pass sparc64_bsd_fpregset down into handler. * sparc64obsd-tdep.c (sparc64obsd_supply_gregset): Likewise. * sparcnbsd-nat.c (_initialize_sparcnbsd_nat): Set sparc_fpregset to sparc32_bsd_fpregset. * sparcnbsd-tdep.c (sparc32nbsd_supply_gregset): Pass sparc32_bsd_fpregset down into sparc32_supply_fpregset. (sparc32nbsd_supply_fpregset): Likewise.
2012-11-24 04:30:23 +08:00
const struct sparc_fpregset sparc32_sunos4_fpregset =
{
0 * 4, /* %f0 */
33 * 4, /* %fsr */
};
const struct sparc_fpregset sparc32_bsd_fpregset =
{
0 * 4, /* %f0 */
32 * 4, /* %fsr */
};
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
/* Provide a prototype to silence -Wmissing-prototypes. */
void _initialize_sparc_tdep (void);
void
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
_initialize_sparc_tdep (void)
{
* Makefile.in (ALLDEPFILES): Remove sparc-linux-nat.c and sparcl-tdep.c. Add sparc-linux-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-tdep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64-tdep.c, sparc64fbsd-nat.c, sparc64fbsd-tdep.c, sparcnbsd-nat.c, sparcnbsd-tdep.c. (sparc_nat_h): New variable. (sparcbsd_nat_h, sparcnbsd_tdep_h): Remove variables. (tm-sun4os4.h): Remove dependency. (sparcbsd-nat.o, sparc-linux-nat.o): Remove dependencies. (sparc64fbsd-nat.o, sparc64fbsd-tdep.o, sparc64nbsd-nat.o, sparc64-tdep.o, sparc-nat.o, sparcnbsd-nat.o, sparcnbsd-tdep.o, sparc-tdep.o): Update dependencies. (sparc-linux-tdep.o, sparc-sol2-nat.o, sparc-sol2-tdep.o, sparc64-linux-nat.o, sparc64-linux-tdep.o, sparc64-nat.o, sparc64-sol2-tdep.o, sparc64-tdep.o, sparc64nbsd-tdep.o): New dependencies. * configure.host: Remove existing sparc-*-lynxos*, sparc-*-solaris*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-*, ultrasparc-*-freebsd, sparcv9-*-freebsd, sparc64-*-linux*, sparcv9-*-* and sparc64-*-* triplets. Add new sparc64-*-linux*, sparc-*-solaris2*, sparcv9-*-solaris2* and sparc64-*-solaris2* triplets. * configure.tgt: Remove exitsing sparc-*-aout*, sparc-*-coff*, sparc-*-elf*, sparc*-lynxos*, sparc-*-solars2*, sparc-*-sunos4*, sparc-*-sunos5*, sparc-*-vxworks*, sparc64-*linux*, sparc64-*-*, sparcv9-*-* and commented out sparc64-*-solars2* triplets. Add new sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*, sparc64-*-linux, sparc-*-solaris2*, sparcv9-*-solaris*, sparc64-*-solaris2* and sparc64-*-* triplets. * sparc64-tdep.c: Update copyright year. Include "inferior.h", "symtab.h" and "objfiles.h". (BIAS): Remove define. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Remove macros. (sparc_fetch_instruction): Remove function. (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc): Remove function. (struct sparc64_frame_cache): Remove definition. (sparc64_alloc_frame_cache, sparc64_analyze_prologue, sparc64_unwind_pc): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analyze_prologue. Mark constant as ULL instead of UL. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc_unwind_dummy_id, sparc_extract_struct_value_address, sparc_analyze_control_transfer, sparc_software_single_step, sparc64_gdbarch_init, sparc_supply_rwindow, sparc_fill_rwindow, _initialize_sparc64_tdep): Remove functions. (TSTATE_CWP, TSTATE_ICC, TSTATE_XCC): New macros. (PSR_S, PSR_ICC, PSR_VERS, PSR_IMPL, PSR_V8PLUS, PSR_XCC): New macros. (sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New functions. (sparc64_init_abi): New function. * sparc64-tdep.h: Update copyright year. Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (BIAS): Define. (r_tstate_offset, r_fprs_offset): New defines. (enum sparc_regnum): Remove defenition. (enum sparc64_regnum): Reformat. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi, sparc64_supply_gregset, sparc64_collect_gregset, sparc64_supply_fpregset, sparc64_collect_fpregset): New prototypes. (sparc64_sol2_gregset, sparc64nbsd_gregset, sparc64fbsd_gregset): Add extern declarations. (sparc64_sol2_init_abi): New prototype. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove prototypes. * sparc64fbsd-nat.c: Include "sparc-nat.h", don't include "sparnbsd-nat.h". (sparc64fbsd_reg_supplies_p, sparc64fbsd_fpreg_supplies_p): Remove functions. (_initialize_sparc64fbsd_nat): Remove initialization of sparcbsd_supply_reg, sparcbsd_fill_reg, sparcbsd_supply_fpreg, sparcbsd_fill_fpreg, sparcbsd_reg_supplies_p, sparcbsd_fpreg_supplies_p. Initialize sparc_gregset. * sparc64fbsd-tdep.c: Update copyright year. Include "frame.h", "frame-unwind.h", "trad-frame.h" and "gdb_assert.h". (sparc64fbsd_r_global_offset, sparc64fbsd_r_out_offset) (sparc64fbsd_r_fprs_offset, sparc64fbsd_r_tnpc_offset) (sparc64fbsd_r_tpc_offset, sparc64fbsd_r_tstate_offset) (sparc64fbsd_r_y_offset): Remove variables. (sparc64fbsd_sizeof_struct_reg, sparc64fbsd_sizeof_struct_fpreg): Make static and const. (sparc64fbsd_supply_reg, sparc64fbsd_fill_reg) (sparc64fbsd_supply_fpreg, sparc64fbsd_fill_fpreg): Remove functions. (sparc64fbsd_gregset): New variable. (fetch_core_registers): Replace calls to sparc64fbsd_supply_reg and sparc64fbsd_supply_fpreg with calls to sparc64_supply_gregset and sparc64_supply_fpregset. (sparc64fbsd_pc_in_sigtramp, sparc64fbsd_sigtramp_frame_cache) (sparc64fbsd_sigtramp_frame_this_id) (sparc64fbsd_sigtramp_frame_prev_register): New functions. (sparc64fbsd_sigtramp_frame_unwind): New variable. (sparc64fbsd_sigtramp_frame_sniffer): New function. (sparc64fbsd_init_abi): Set pc_in_sigtramp, append sparc64fbsd_sigtramp_frame_sniffer. Call sparc64_init_abi. * sparcnbsd-tdep.c: Update copyright year. Include "floatformat.h", "frame.h", "frame-unwind.h", "symtab.h", "trad-frame.h" and "gdb_assert.h", don't include "target.h", "value.h" and "sparcnbsd-tdep.h". (REG32_OFFSET_PSR, REG32_OFFSET_PC, REG32_OFFSET_NPC) (REG32_OFFSET_Y, REG32_OFFSET_GLOBAL, REG32_OFFSET_OUT) (REG64_OFFSET_TSTATE, REG64_OFFSET_PC, REG64_OFFSET_NPC) (REG64_OFFSET_Y, REG64_OFFSET_GLOBAL, REG64_OFFSET_OUT): Remove defines. (sparcnbsd_gregset): New variable. (sparcnbsd_supply_reg32, sparcnbsd_supply_reg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64) (sparcnbsd_supply_fpreg32, sparcnbsd_supply_fpreg64) (sparcnbsd_fill_reg32, sparcnbsd_fill_reg64): Remove functions. (sparc32nbsd_sigtramp_start, sparc32nbsd_sigtramp_end): New variables. (sparc32nbsd_pc_in_sigtramp, sparc32nbsd_sigcontext_frame_cache) (sparc32nbsd_sigcontext_frame_this_id) (sparc32nbsd_sigcontext_frame_prev_register): New functions. (sparc32nbsd_sigcontext_frame_unwind): New variable. (sparc32nbsd_sigtramp_frame_sniffer): New function. (sparcnbsd_get_longjmp_target_32, sparcnbsd_get_longjmp_target_64): Remove functions. (sparcnbsd_aout_in_solib_call_trampoline): Rewrite. (sparcnbsd_init_abi_common, sparcnbsd_init_aout, sparcnbsd_init_elf): Remove. (sparcnbsd_init_abi, sparcnbsd_aout_init_abi) (sparcnbsd_elf_init_abi): New functions. (_initialize_sparcnbsd_tdep): New prototype. (_initialize_sparnbsd_tdep): Update. * config/sparc/fbsd.mh (NATDEPFILES): Remove sparcbsd-nat.o and corelow.o. Add sparc64-nat.o and sparc-nat.o. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/linux.mh: Update comment. (XM_FILE, HOST_IPC): Remove variables. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt: Update comment. (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nbsd.mt: Reformat. * config/sparc/nbsd64.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. * config/sparc/nbsd64.mt: Update comment. (TDEPFILES): Add sparc64-tdep.o and sparc64nbsd-tdep.o. (TM_FILE): Set to tm-nbsd.h. * config/sparc/nbsdelf.mh: Update comment. (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh: Update comment. (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete. * config/sparc/nm-linux.h: Update copyright year. Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Remove define. (kernel_u_size): Remove prototype. (PTRACE_ARG3_TYPE, PTRACE_XFER_TYPE): Define. * config/sparc/nm-nbsd.h: Update copyright. Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove define. * config/sparc/nm-nbsdaout.h: Tweak some comments. * sparc-nat.c, sparc-tdep.c, sparc-tdep.h, sparc64nbsd-nat.c, sparcnbsd-nat.c: Rewrite files. * config/sparc/tm-linux.h, config/sparc/tm-nbsd.h: Rewrite files. * sparc-linux-nat.c, sparcbsd-nat.c, sparcbsd-nat.h, sparcnbsd-tdep.h: Remove files. * config/sparc/nm-sparclynx.h, config/sparc/nm-sun4os4.h, config/sparc/nm-sun4sol2.h, config/sparc/sp64.mt, config/sparc/sp64linux.mt, config/sparc/sp64sol2.mt, config/sparc/sparc-em.mt, config/sparc/sparclynx.mh, config/sparc/sparclynx.mt, config/sparc/sun4os4.mh, config/sparc/sun4os4.mt, config/sparc/sun4sol2.mh, config/sparc/sun4sol2.mt, config/sparc/tm-sp64.h, config/sparc/tm-sp64linux.h, config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h, config/sparc/tm-spc-em.h, config/sparc/tm-sun4os4.h, config/sparc/tm-sun4sol2.h, config/sparc/tm-vxsparc.h, config/sparc/vxsparc.mt, config/sparc/xm-linux.h, config/sparc/xm-sun4sol2.h: Remove files. * sparc-linux-tdep.c, sparc-nat.h, sparc-sol2-nat.c, sparc-sol2-tdep.c, sparc64-linux-nat.c, sparc64-linux-t dep.c, sparc64-nat.c, sparc64-sol2-tdep.c, sparc64nbsd-tdep.c: New files. * config/sparc/linux64.mh, config/sparc/linux64.mt, config/sparc/nm-sol2.h, config/sparc/sol2-64.mt, config/sparc/sol2.mh, config/sparc/sol2.mt, config/sparc/sparc.mt, config/sparc/sparc64.mt, config/sparc/tm-sol2.h: New files.
2004-01-03 18:08:45 +08:00
register_gdbarch_init (bfd_arch_sparc, sparc32_gdbarch_init);
}