GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
sparc-tdep.h File Reference
#include "gdbarch.h"

Go to the source code of this file.

Classes

struct  sparc_gregmap
 
struct  sparc_fpregmap
 
struct  sparc_gdbarch_tdep
 
struct  sparc_frame_cache
 

Macros

#define SPARC_CORE_REGISTERS
 

Enumerations

enum  sparc_regnum {
  SPARC_G0_REGNUM = 0 , 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
}
 
enum  sparc32_pseudo_regnum { SPARC32_D0_REGNUM = 0 , SPARC32_D30_REGNUM = SPARC32_D0_REGNUM + 15 }
 

Functions

unsigned long sparc_fetch_instruction (CORE_ADDR pc)
 
ULONGEST sparc_fetch_wcookie (struct gdbarch *gdbarch)
 
void sparc_record_save_insn (struct sparc_frame_cache *cache)
 
CORE_ADDR sparc_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR current_pc, struct sparc_frame_cache *cache)
 
struct sparc_frame_cache * sparc_frame_cache (frame_info_ptr this_frame, void **this_cache)
 
struct sparc_frame_cachesparc32_frame_cache (frame_info_ptr this_frame, void **this_cache)
 
int sparc_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
 
void sparc_supply_rwindow (struct regcache *regcache, CORE_ADDR sp, int regnum)
 
void sparc_collect_rwindow (const struct regcache *regcache, CORE_ADDR sp, int regnum)
 
void sparc32_supply_gregset (const struct sparc_gregmap *gregmap, struct regcache *regcache, int regnum, const void *gregs)
 
void sparc32_collect_gregset (const struct sparc_gregmap *gregmap, const struct regcache *regcache, int regnum, void *gregs)
 
void sparc32_supply_fpregset (const struct sparc_fpregmap *fpregmap, struct regcache *regcache, int regnum, const void *fpregs)
 
void sparc32_collect_fpregset (const struct sparc_fpregmap *fpregmap, const struct regcache *regcache, int regnum, void *fpregs)
 
int sparc_is_annulled_branch_insn (CORE_ADDR pc)
 
CORE_ADDR sparcnbsd_step_trap (frame_info_ptr frame, unsigned long insn)
 
void sparc32nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
struct trad_frame_saved_regsparc32nbsd_sigcontext_saved_regs (frame_info_ptr next_frame)
 

Variables

const struct sparc_gregmap sparc32_sunos4_gregmap
 
const struct sparc_fpregmap sparc32_sunos4_fpregmap
 
const struct sparc_fpregmap sparc32_bsd_fpregmap
 
const struct sparc_gregmap sparc32_sol2_gregmap
 
const struct sparc_fpregmap sparc32_sol2_fpregmap
 
const struct sparc_gregmap sparc32nbsd_gregmap
 

Macro Definition Documentation

◆ SPARC_CORE_REGISTERS

#define SPARC_CORE_REGISTERS
Value:
"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"

Definition at line 25 of file sparc-tdep.h.

Enumeration Type Documentation

◆ sparc32_pseudo_regnum

Enumerator
SPARC32_D0_REGNUM 
SPARC32_D30_REGNUM 

Definition at line 162 of file sparc-tdep.h.

◆ sparc32_regnum

Enumerator
SPARC32_Y_REGNUM 
SPARC32_PSR_REGNUM 
SPARC32_WIM_REGNUM 
SPARC32_TBR_REGNUM 
SPARC32_PC_REGNUM 
SPARC32_NPC_REGNUM 
SPARC32_FSR_REGNUM 
SPARC32_CSR_REGNUM 

Definition at line 148 of file sparc-tdep.h.

◆ sparc_regnum

Enumerator
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 

Definition at line 102 of file sparc-tdep.h.

Function Documentation

◆ sparc32_collect_fpregset()

void sparc32_collect_fpregset ( const struct sparc_fpregmap * fpregmap,
const struct regcache * regcache,
int regnum,
void * fpregs )
extern

◆ sparc32_collect_gregset()

void sparc32_collect_gregset ( const struct sparc_gregmap * gregmap,
const struct regcache * regcache,
int regnum,
void * gregs )
extern

◆ sparc32_frame_cache()

struct sparc_frame_cache * sparc32_frame_cache ( frame_info_ptr this_frame,
void ** this_cache )
extern

◆ sparc32_supply_fpregset()

void sparc32_supply_fpregset ( const struct sparc_fpregmap * fpregmap,
struct regcache * regcache,
int regnum,
const void * fpregs )
extern

◆ sparc32_supply_gregset()

void sparc32_supply_gregset ( const struct sparc_gregmap * gregmap,
struct regcache * regcache,
int regnum,
const void * gregs )
extern

◆ sparc32nbsd_init_abi()

void sparc32nbsd_init_abi ( struct gdbarch_info info,
struct gdbarch * gdbarch )
extern

◆ sparc32nbsd_sigcontext_saved_regs()

struct trad_frame_saved_reg * sparc32nbsd_sigcontext_saved_regs ( frame_info_ptr next_frame)
extern

◆ sparc_analyze_prologue()

CORE_ADDR sparc_analyze_prologue ( struct gdbarch * gdbarch,
CORE_ADDR pc,
CORE_ADDR current_pc,
struct sparc_frame_cache * cache )
extern

◆ sparc_collect_rwindow()

void sparc_collect_rwindow ( const struct regcache * regcache,
CORE_ADDR sp,
int regnum )
extern

◆ sparc_fetch_instruction()

unsigned long sparc_fetch_instruction ( CORE_ADDR pc)
extern

◆ sparc_fetch_wcookie()

ULONGEST sparc_fetch_wcookie ( struct gdbarch * gdbarch)
extern

◆ sparc_frame_cache()

struct sparc_frame_cache * sparc_frame_cache ( frame_info_ptr this_frame,
void ** this_cache )
extern

◆ sparc_is_annulled_branch_insn()

int sparc_is_annulled_branch_insn ( CORE_ADDR pc)
extern

Definition at line 126 of file sparc-tdep.c.

References sparc_fetch_instruction(), X_A, X_OP, and X_OP2.

Referenced by sparc64_linux_get_longjmp_target().

◆ sparc_record_save_insn()

void sparc_record_save_insn ( struct sparc_frame_cache * cache)
extern

◆ sparc_stack_frame_destroyed_p()

int sparc_stack_frame_destroyed_p ( struct gdbarch * gdbarch,
CORE_ADDR pc )
extern

Definition at line 554 of file sparc-tdep.c.

References sparc_fetch_instruction(), and X_RETTURN.

Referenced by sparc64_init_abi().

◆ sparc_supply_rwindow()

void sparc_supply_rwindow ( struct regcache * regcache,
CORE_ADDR sp,
int regnum )
extern

◆ sparcnbsd_step_trap()

CORE_ADDR sparcnbsd_step_trap ( frame_info_ptr frame,
unsigned long insn )
extern

Variable Documentation

◆ sparc32_bsd_fpregmap

const struct sparc_fpregmap sparc32_bsd_fpregmap
extern

◆ sparc32_sol2_fpregmap

const struct sparc_fpregmap sparc32_sol2_fpregmap
extern

◆ sparc32_sol2_gregmap

const struct sparc_gregmap sparc32_sol2_gregmap
extern

◆ sparc32_sunos4_fpregmap

const struct sparc_fpregmap sparc32_sunos4_fpregmap
extern

Definition at line 2255 of file sparc-tdep.c.

Referenced by _initialize_sparc_nat().

◆ sparc32_sunos4_gregmap

const struct sparc_gregmap sparc32_sunos4_gregmap
extern

Definition at line 2243 of file sparc-tdep.c.

Referenced by _initialize_sparc_nat().

◆ sparc32nbsd_gregmap

const struct sparc_gregmap sparc32nbsd_gregmap
extern