summaryrefslogtreecommitdiff
path: root/gdb/sparc-tdep.h
Commit message (Collapse)AuthorAgeFilesLines
* * sparc-tdep.h: Update copyright year.Mark Kettenis2004-01-011-1/+4
| | | | | | | | | | | | (sparc_fetch_instruction): New prototype. * sparc-tdep.c: Update copyright year. (sparc_fetch_instruction): Make global. * sparc64-tdep.c: Update copyright year. (sparc_fetch_instruction): Remove function. (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3, X_I, X_DISP22) (X_DISP19): Really remove macros. * sparc64-sol2-tdep.c: Update copyright year. * sparc64fbsd-tdep.c: Likewise.
* * sparc-tdep.h (sparc_sol2_pc_in_sigtramp): New prototype.Mark Kettenis2003-12-311-0/+2
| | | | * sparc-sol2-tdep.c (sparc_sol2_pc_in_sigtramp): Make global.
* * sparc-tdep.h (struct sparc_frame_cache): Rename from `structMark Kettenis2003-12-211-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sparc32_frame_cache'. (sparc_analyze_prologue, sparc_frame_cache): New prototypes. (sparc32_frame_cache): Adjust prototype. * sparc-tdep.c (sparc_alloc_frame_cache): Rename from sparc32_alloc_frame_cache. Use `struct sparc_frame_cache' instead of `struct sparc32_frame_cache'. (sparc_analyze_prologue): Rename from sparc32_analyze_prologue. Use `struct sparc_frame_cache' instead of `struct sparc32_frame_cache'. (sparc32_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc32_frame_cache'. Call sparc_analyze_prologue instead of sparc32_analyze_prologue. (sparc_frame_cache): New function with generic code from... (sparc32_frame_cache): ...here. (sparc32_frame_this_id, sparc32_frame_prev_register) (sparc32_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc32_frame_cache'. * sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_cache) (sparc32_sol2_sigtramp_frame_this_id) (sparc32_sol2_sigtramp_frame_prev_register): Change return type to `struct sparc_frame_cache *'. * sparc-linux-tdep.c (sparc32_linux_sigtramp_frame_cache) (sparc32_linux_sigtramp_frame_this_id) (sparc32_linux_sigtramp_frame_prev_register): Change return type to `struct sparc_frame_cache *'. * sparc64-tdep.c (X_OP, X_RD, X_A, X_COND, X_OP2, X_IMM22, X_OP3) (X_I, X_DISP22, X_DISP19): Remove macros. (struct sparc64_frame_cache): Remove. (sparc64_alloc_frame_cache, sparc64_analyze_prologue): Remove functions. (sparc64_skip_prologue): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. Call sparc_analyze_prologue instead of sparc64_analuze_prologue. (sparc64_frame_this_id, sparc64_frame_prev_register, sparc64_frame_base_address): Use `struct sparc_frame_cache' instead of `struct sparc64_frame_cache. (sparc64_frame_cache): Change return type to `struct sparc_frame_cache *'. Simply call sparc_frame_cache.
* * sparc-tdep.h (sparc32nbsd_gregset): Add extern declaration.Mark Kettenis2003-11-161-0/+5
| | | | | | | | | | | | | | | | | | | | | | * sparcnbsd-nat.c: Rewrite. * sparcnbsd-tdep.c (sparc32nbsd_gregset): Rename from sparcnbsd_gregset. (fetch_core_registers): Adjust. (sparc32nbsd_init_abi): Rename from sparcnbsd_init_abi. (sparc32nbsd_aout_init_abi): Rename from sparcbsd_aout_init_abi. (sparc32nbsd_elf_init_abi): Rename from sparcbsd_elf_init_abi. (_initialize_sparnbsd_tdep): Adjust. * Makefile.in (ALLDEPFILES): Add sparcnbsd-nat.c. (sparcnbsd-nat.o): New dependency. * configure.host: Add sparc-*-netbsdelf*, sparc-*-netbsdaout* and sparc-*-netbsd*. * config/sparc/nm-nbsd.h: Don't include "regcache.h". (CHILD_PREPARE_TO_STORE): Remove. * config/sparc/nm-nbsdaout.h: Tweak some comments. * config/sparc/nbsdelf.mh (NATDEPFILES): Add sparc-nat.o. (XM_FILE): Delete. * config/sparc/nbsdaout.mh (NATDEPFILES): Add sparc-nat.o (XM_FILE): Delete.
* * sparc-tdep.c (sparc32_register_names): Remove trailing comma.Mark Kettenis2003-11-151-1/+6
| | | | | | | | | | | | | | (sparc32_pseudo_register_names): New variable. (SPARC32_NUM_PSEUDO_REGS): New define. (sparc32_register_name): Add support for psuedo-registers. (sparc32_register_type): Add support double precision floating-point registers. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): New functions. (sparc32_gdbarch_init): Set num_pseudo_regs, pseudo_register_read and pseudo_register_write. * sparc-tdep.h (sparc32_regnum): Add SPARC32_D0_REGNUM and SPARC32_D30_REGNUM.
* * sparc-tdep.h (struct sparc_gregset): Add r_y_size member.Mark Kettenis2003-11-021-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (sparc32_supply_gregset): Renamed from sparc_supply_gregset. (sparc32_collect_gregset): Renamed from sparc_collect_gregset. (sparc32_supply_fpregset): Renamed from sparc_supply_fpregset. (sparc32_collect_fpregset): Renamed from sparc_collect_fpregset. * sparc-tdep.c (sparc32_supply_gregset): Renamed from sparc_supply_gregset. (sparc32_collect_gregset): Renamed from sparc_collect_gregset. (sparc32_supply_fpregset): Renamed from sparc_supply_fpregset. (sparc32_collect_fpregset): Renamed from sparc_collect_fpregset. * sparc-linux-tdep.c: Include "solib-svr4.h". (sparc32_linux_svr4_fetch_link_map_offsets): New function. (sparc32_linux_init_abi): Set solib_svr4_fetch_link_map_offsets. * sparc-nat.h: New file. * sparc-nat.c: Add some more comments. Include "sparc-nat.h". (PTRACE_GETREGS): Define to PT_GETREGS if not already defined. (PTRACE_SETREGS, PTRACE_GETFPREGS, PTRACE_SETFPREGS): Likewise. (sparc_supply_gregset, sparc_collect_gregset, sparc_supply_fpregset, sparc_collect_fpregset, sparc_gregset_supplies_p, sparc_fpregset_supplies_p): New function variables. (sparc32_gregset_supplies_p): Rename from sparc_gregset_supplies_p. (sparc32_fpregset_supplies_p): Rename from sparc_fpregset_supplies_p. (fetch_inferior_registers): Deal with GNU/Linux LWPs. (store_inferior_registers): Likewise. Work around peculiarity in NetBSD when writing the floating-point registers. (_initialize_sparc_nat): Initialize sparc_supply_gregset, sparc_collect_gregset, sparc_supply_fpregset, sparc_collect_fpregset, sparc_gregset_supplies_p and sparc_fpregset_supplies_p if necessary. * sparc-sol2-nat.c (supply_gregset): Call sparc32_supply_gregset instead of sparc_supply_gregset. (supply_fpregset, fill_gregset, fill_fpregset): Likewise.
* * sparc-tdep.h (struct sparc_gregset): New.Mark Kettenis2003-10-251-10/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (sparc_sol2_supply_gregset, sparc_sol2_collect_gregset, sparc_sol2_supply_fpregset, sparc_sol2_collect_fpregset): Remove prototypes. (sparc_supply_gregset, sparc_collect_gregset, sparc_supply_fpregset, sparc_collect_fpregset): New prototypes. (sparc32_sunos4_gregset, sparc32_sol2_gregset): New extern declarations. (sparc32_sol2_init_abi): Rename from sparc_sol2_init_abi. * sparc-tdep.c (sparc_supply_gregset, sparc_collect_gregset, sparc_supply_fpregset, sparc_collect_fpregset): New function. (sparc32_sunos4_gregset): New variable. * sparc-sol2-tdep.c (sparc_sol2_R_PSR, sparc_sol2_R_PC, sparc_sol2_R_nPC, sparc_sol2_R_Y, sparc_sol2_R_WIM, sparc_sol2_R_TBR): Remove variables. (sparc_sol2_supply_gregset, sparc_sol2_collect_gregset, sparc_sol2_supply_fpregset, sparc_sol2_collect_fpregset): Remove functions. (sparc32_sol2_gregset): New variable. (sparc32_sol2_sigtramp_frame_cache): Rename from sparc_sol2_sigtramp_frame_cache. (sparc32_sol2_sigtramp_frame_this_id): Rename from sparc_sol2_sigtramp_frame_this_id. (sparc32_sol2_sigtramp_frame_prev_register): Rename from sparc_sol2_sigtramp_frame_prev_register. (sparc32_sol2_sigtramp_frame_unwind): Rename from sparc_sol2_sigtramp_frame_unwind. (sparc32_sol2_sigtramp_frame_sniffer): Rename from sparc_sol2_sigtramp_frame_sniffer. (sparc32_sol2_init_abi): Rename from sparc_sol2_init_abi. (_initialize_sparc_sol2_tdep): Update. * sparc-linux-tdep.c: New file. * sparc-nat.o: Replace with new file. * sparc-linux-nat.c: Remove file. * config/sparc/linux.mh (XM_FILE, HOST_IPC): Remove. (NATDEPFILES): Add sparc-sol2-nat.o and core-regset.o. Remove sparc-linux-nat.o. * config/sparc/linux.mt (TDEPFILES): Add sparc-sol2-tdep.o and sparc-linux-tdep.o. * config/sparc/nm-linux.h: Don't include "config/nm-svr4.h" and "solib.h". Add protection against multiple inclusion. (KERNEL_U_SIZE): Don't define. (kernel_u_size): Remove prototype. * config/sparc/tm-linux.h: Replace with new file. * configure.tgt: Add sparc-*-linux*. * configure.host: Add sparc-*-linux*. * Makefile.in (ALLDEPFILES): Add sparc-linux-tdep.c and sparc-nat.c. (sparc-nat.o, sparc-linux-tdep.o): New dependencies.
* Integrate SPARC and UltraSPARC targets.Mark Kettenis2003-10-181-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sparc-tdep.h (struct sparc32_frame_cache): Add pc_regnum and npc_regnum members. * sparc-tdep.c (sparc_unwind_pc): Rename from sparc32_unwind_pc. Get register numbers for %pc from `struct gdbarch_tdep' instead of using 32-bit specific constants. (sparc_software_single_step): Get register numbers from %pc and %npc from `struct gdbarch_tdep'. (sparc_write_pc): Rename from sparc32_write_pc. Get register numbers from %pc and %npc from `struct gdbarch_tdep'. (sparc32_gdbarch_init): Initialize TDEP->pc_regnum, TDEP->npc_regnum and TDEP->plt_entry_size. Set write_pc to sparc_write_pc, set unwind_pc to sparc_unwind_pc. * sparc64-tdep.h: Fix typo in multiple inclusion guard. Include "sparc-tdep.h". (enum sparc_regnum): Remove. (sparc_supply_rwindow, sparc_fill_rwindow): Remove prototypes. (sparc64_init_abi): New prototype. * sparc64-tdep.c: Include "inferior.h" and "sparc-tdep.h". (struct gdbarch_tdep): Remove definition. (SPARC64_NUM_REGS, SPARC64_NUM_PSEUDO_REGS): Use ARRAY_SIZE. (sparc_breakpoint_from_pc, sparc64_unwind_pc, 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. (sparc64_init_abi): New function. * sparc64fbsd-tdep.c (sparc64fbsd_supply_reg): Call sparc_supply_rwindow with correct number of arguments. (sparc64fbsd_init_abi): Call sparc64_init_abi. * sparcbsd-nat.c (store_inferior_registers): Call sparc_collect_rwindow instead sparc_fill_rwindow. * config/sparc/fbsd.mt (TDEPFILES): Add sparc-tdep.o and corelow.o. * config/sparc/fbsd.mh (NATDEPFILES): Remove corelow.o. * Makefile.in (sparc64_tdep_h): Add dependency on sparc-tdep.h. (sparc64-tdep.o): Update dependencies.
* New SPARC target.Mark Kettenis2003-09-181-2/+120
| | | | | | | | | | | | | * configure.tgt: Remove support for old SPARC targets. * configure.tgt: Remove support for old SPARC hosts. * Makefile.in: Remove support for old SPARC hosts and targets. (sparc-tdep.o): Update dependencies. (sparc-sol2-tdep.o, sparc-sol2-nat.o): New dependencies. * sparc-tdep.c, sparc-tdep.h: New implementation. * sparc-sol2-tdep.c, sparc-sol2-nat.c: New files. * config/sparc/sparc.mt: New files. * config/sparc/sol2.mt, config/sparc/sol2.mh: New files. * config/sparc/tm-sol2.h: New file.
* * Makefile.in (sparc_tdep_h): New.Daniel Jacobowitz2003-07-071-0/+22
| | | | | | | | | | | | | | (sparc-linux-nat.o, sparc-nat.o, sparc-tdep.o, sparc64nbsd-nat.o) (sparcnbsd-nat.o, sparcnbsd-tdep.o): Depend on $(sparc_tdep_h). * sparc-linux-nat.c: Include "sparc-tdep.h". * sparc-nat.c: Likewise. * sparc-tdep.c: Likewise. * sparc64nbsd-nat.c: Likewise. * sparcnbsd-nat.c: Likewise. * sparcnbsd-tdep.c: Likewise. * sparc-tdep.h: New file. * config/sparc/tm-sparc.h: Remove prototypes for sparc_y_regnum and sparc_npc_regnum.
* Revert Sparc OS abi changes.David S. Miller2002-04-221-99/+0
|
* 2002-04-20 David S. Miller <davem@redhat.com>David S. Miller2002-04-221-0/+99
* sparc-tdep.h: New file. * sparc-tdep.c (elf-bfd.h): Include. (SPARC_HAS_FPU, FP_REGISTER_BYTES, FP_MAX_REGNUM, SPARC_INTREG_SIZE, DUMMY_REG_SAVE_OFFSET, gdbarch_tdep, CALL_DUMMY_CALL_OFFSET): Move out to sparc-tdep.h (sparc_dump_tdep): New function. (_initialize_sparc_tdep): Use gdbarch_register instead of register_gdbarch_init which is deprecated. (process_note_abi_tag_sections, sparc_abi_handler, sparc_abi_handler_list, sparc_gdbarch_register_os_abi): New. (sparc_gdbarch_init): Determine elf os ident key based upon either the elf header or by using process_note_abi_tag_sections. Fix 'gdbarch already exists' test by comparing os_ident as well. As the last action, invoke OS abi_handler if installed.