gdb/sparc-tdep.h - gdb
Data types defined
Macros defined
Source code
- #ifndef SPARC_TDEP_H
- #define SPARC_TDEP_H 1
- struct frame_info;
- struct gdbarch;
- struct regcache;
- struct regset;
- struct trad_frame_saved_reg;
- struct sparc_gregmap
- {
- int r_psr_offset;
- int r_pc_offset;
- int r_npc_offset;
- int r_y_offset;
- int r_wim_offset;
- int r_tbr_offset;
- int r_g1_offset;
- int r_l0_offset;
- int r_y_size;
- };
- struct sparc_fpregmap
- {
- int r_f0_offset;
- int r_fsr_offset;
- };
- struct gdbarch_tdep
- {
-
- int pc_regnum;
- int npc_regnum;
-
- const struct regset *gregset;
- size_t sizeof_gregset;
- const struct regset *fpregset;
- size_t sizeof_fpregset;
-
- int jb_pc_offset;
-
- size_t plt_entry_size;
-
- CORE_ADDR (*step_trap) (struct frame_info *frame, unsigned long insn);
-
- struct type *sparc_psr_type;
- struct type *sparc_fsr_type;
- struct type *sparc64_pstate_type;
- struct type *sparc64_fsr_type;
- struct type *sparc64_fprs_type;
- };
- enum sparc_regnum
- {
- SPARC_G0_REGNUM,
- SPARC_G1_REGNUM,
- SPARC_G2_REGNUM,
- SPARC_G3_REGNUM,
- SPARC_G4_REGNUM,
- SPARC_G5_REGNUM,
- SPARC_G6_REGNUM,
- SPARC_G7_REGNUM,
- SPARC_O0_REGNUM,
- SPARC_O1_REGNUM,
- SPARC_O2_REGNUM,
- SPARC_O3_REGNUM,
- SPARC_O4_REGNUM,
- SPARC_O5_REGNUM,
- SPARC_SP_REGNUM,
- SPARC_O7_REGNUM,
- SPARC_L0_REGNUM,
- SPARC_L1_REGNUM,
- SPARC_L2_REGNUM,
- SPARC_L3_REGNUM,
- SPARC_L4_REGNUM,
- SPARC_L5_REGNUM,
- SPARC_L6_REGNUM,
- SPARC_L7_REGNUM,
- SPARC_I0_REGNUM,
- SPARC_I1_REGNUM,
- SPARC_I2_REGNUM,
- SPARC_I3_REGNUM,
- SPARC_I4_REGNUM,
- SPARC_I5_REGNUM,
- SPARC_FP_REGNUM,
- SPARC_I7_REGNUM,
- SPARC_F0_REGNUM,
- SPARC_F1_REGNUM,
- SPARC_F2_REGNUM,
- SPARC_F3_REGNUM,
- SPARC_F4_REGNUM,
- SPARC_F5_REGNUM,
- SPARC_F6_REGNUM,
- SPARC_F7_REGNUM,
- SPARC_F31_REGNUM
- = SPARC_F0_REGNUM + 31
- };
- enum sparc32_regnum
- {
- SPARC32_Y_REGNUM
- = SPARC_F31_REGNUM + 1,
- SPARC32_PSR_REGNUM,
- SPARC32_WIM_REGNUM,
- SPARC32_TBR_REGNUM,
- SPARC32_PC_REGNUM,
- SPARC32_NPC_REGNUM,
- SPARC32_FSR_REGNUM,
- SPARC32_CSR_REGNUM,
-
- SPARC32_D0_REGNUM,
- SPARC32_D30_REGNUM
- = SPARC32_D0_REGNUM + 15
- };
- struct sparc_frame_cache
- {
-
- CORE_ADDR base;
- CORE_ADDR pc;
-
- int frameless_p;
-
- int frame_offset;
-
- unsigned short int saved_regs_mask;
-
- unsigned char copied_regs_mask;
-
- int struct_return_p;
-
- struct trad_frame_saved_reg *saved_regs;
- };
- extern unsigned long sparc_fetch_instruction (CORE_ADDR pc);
- extern ULONGEST sparc_fetch_wcookie (struct gdbarch *gdbarch);
- extern void sparc_record_save_insn (struct sparc_frame_cache *cache);
- extern CORE_ADDR sparc_analyze_prologue (struct gdbarch *gdbarch,
- CORE_ADDR pc, CORE_ADDR current_pc,
- struct sparc_frame_cache *cache);
- extern struct sparc_frame_cache *
- sparc_frame_cache (struct frame_info *this_frame, void **this_cache);
- extern struct sparc_frame_cache *
- sparc32_frame_cache (struct frame_info *this_frame, void **this_cache);
- extern int
- sparc_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc);
- extern int sparc_software_single_step (struct frame_info *frame);
- extern void sparc_supply_rwindow (struct regcache *regcache,
- CORE_ADDR sp, int regnum);
- extern void sparc_collect_rwindow (const struct regcache *regcache,
- CORE_ADDR sp, int regnum);
- extern const struct sparc_gregmap sparc32_sunos4_gregmap;
- extern const struct sparc_fpregmap sparc32_sunos4_fpregmap;
- extern const struct sparc_fpregmap sparc32_bsd_fpregmap;
- extern void sparc32_supply_gregset (const struct sparc_gregmap *gregmap,
- struct regcache *regcache,
- int regnum, const void *gregs);
- extern void sparc32_collect_gregset (const struct sparc_gregmap *gregmap,
- const struct regcache *regcache,
- int regnum, void *gregs);
- extern void sparc32_supply_fpregset (const struct sparc_fpregmap *fpregmap,
- struct regcache *regcache,
- int regnum, const void *fpregs);
- extern void sparc32_collect_fpregset (const struct sparc_fpregmap *fpregmap,
- const struct regcache *regcache,
- int regnum, void *fpregs);
- extern int sparc_is_annulled_branch_insn (CORE_ADDR pc);
- extern const struct sparc_gregmap sparc32_sol2_gregmap;
- extern const struct sparc_fpregmap sparc32_sol2_fpregmap;
- extern int sparc_sol2_pc_in_sigtramp (CORE_ADDR pc, const char *name);
- extern const char *sparc_sol2_static_transform_name (const char *name);
- extern void sparc32_sol2_init_abi (struct gdbarch_info info,
- struct gdbarch *gdbarch);
- extern const struct sparc_gregmap sparc32nbsd_gregmap;
- extern CORE_ADDR sparcnbsd_step_trap (struct frame_info *frame,
- unsigned long insn);
- extern void sparc32nbsd_elf_init_abi (struct gdbarch_info info,
- struct gdbarch *gdbarch);
- extern struct trad_frame_saved_reg *
- sparc32nbsd_sigcontext_saved_regs (struct frame_info *next_frame);
- #endif