GDB (xrefs)
Classes | Defines | Enumerations | Functions | Variables
/home/stan/gdb/src/gdb/i386-tdep.h File Reference

Go to the source code of this file.

Classes

struct  gdbarch_tdep

Defines

#define I386_NUM_GREGS   16
#define I386_NUM_XREGS   9
#define I386_SSE_NUM_REGS   (I386_MXCSR_REGNUM + 1)
#define I386_AVX_NUM_REGS   (I386_YMM7H_REGNUM + 1)
#define I386_MAX_REGISTER_SIZE   16
#define I386_SEL_RPL   0x0003 /* Requester's Privilege Level mask. */
#define I386_SEL_UPL   0x0003 /* User Privilige Level. */
#define I386_SEL_KPL   0x0000 /* Kernel Privilige Level. */
#define I386_MAX_INSN_LEN   (16)

Enumerations

enum  struct_return {
  pcc_struct_return, reg_struct_return, pcc_struct_return, reg_struct_return,
  pcc_struct_return, reg_struct_return
}
enum  i386_regnum {
  I386_EAX_REGNUM, I386_ECX_REGNUM, I386_EDX_REGNUM, I386_EBX_REGNUM,
  I386_ESP_REGNUM, I386_EBP_REGNUM, I386_ESI_REGNUM, I386_EDI_REGNUM,
  I386_EIP_REGNUM, I386_EFLAGS_REGNUM, I386_CS_REGNUM, I386_SS_REGNUM,
  I386_DS_REGNUM, I386_ES_REGNUM, I386_FS_REGNUM, I386_GS_REGNUM,
  I386_ST0_REGNUM, I386_MXCSR_REGNUM = 40, I386_YMM0H_REGNUM, I386_YMM7H_REGNUM = I386_YMM0H_REGNUM + 7
}
enum  record_i386_regnum {
  X86_RECORD_REAX_REGNUM, X86_RECORD_RECX_REGNUM, X86_RECORD_REDX_REGNUM, X86_RECORD_REBX_REGNUM,
  X86_RECORD_RESP_REGNUM, X86_RECORD_REBP_REGNUM, X86_RECORD_RESI_REGNUM, X86_RECORD_REDI_REGNUM,
  X86_RECORD_R8_REGNUM, X86_RECORD_R9_REGNUM, X86_RECORD_R10_REGNUM, X86_RECORD_R11_REGNUM,
  X86_RECORD_R12_REGNUM, X86_RECORD_R13_REGNUM, X86_RECORD_R14_REGNUM, X86_RECORD_R15_REGNUM,
  X86_RECORD_REIP_REGNUM, X86_RECORD_EFLAGS_REGNUM, X86_RECORD_CS_REGNUM, X86_RECORD_SS_REGNUM,
  X86_RECORD_DS_REGNUM, X86_RECORD_ES_REGNUM, X86_RECORD_FS_REGNUM, X86_RECORD_GS_REGNUM
}

Functions

int i386_fp_regnum_p (struct gdbarch *, int)
int i386_fpc_regnum_p (struct gdbarch *, int)
struct typei387_ext_type (struct gdbarch *gdbarch)
int i386_byte_regnum_p (struct gdbarch *gdbarch, int regnum)
int i386_word_regnum_p (struct gdbarch *gdbarch, int regnum)
int i386_dword_regnum_p (struct gdbarch *gdbarch, int regnum)
int i386_xmm_regnum_p (struct gdbarch *gdbarch, int regnum)
int i386_ymm_regnum_p (struct gdbarch *gdbarch, int regnum)
const char * i386_pseudo_register_name (struct gdbarch *gdbarch, int regnum)
struct typei386_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
void i386_pseudo_register_read_into_value (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, struct value *result)
void i386_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, const gdb_byte *buf)
CORE_ADDR i386_pe_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc, char *name)
CORE_ADDR i386_skip_main_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
int i386_sigtramp_p (struct frame_info *this_frame)
int i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *group)
void i386_supply_gregset (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
void i386_collect_gregset (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
struct regseti386_regset_from_core_section (struct gdbarch *gdbarch, const char *sect_name, size_t sect_size)
struct displaced_step_closurei386_displaced_step_copy_insn (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
void i386_displaced_step_fixup (struct gdbarch *gdbarch, struct displaced_step_closure *closure, CORE_ADDR from, CORE_ADDR to, struct regcache *regs)
void i386_elf_init_abi (struct gdbarch_info, struct gdbarch *)
void i386_svr4_init_abi (struct gdbarch_info, struct gdbarch *)
int i386_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr)
void i386bsd_init_abi (struct gdbarch_info, struct gdbarch *)
int i386_stap_is_single_operand (struct gdbarch *gdbarch, const char *s)
int i386_stap_parse_special_token (struct gdbarch *gdbarch, struct stap_parse_info *p)

Variables

CORE_ADDR i386fbsd_sigtramp_start_addr
CORE_ADDR i386fbsd_sigtramp_end_addr
CORE_ADDR i386obsd_sigtramp_start_addr
CORE_ADDR i386obsd_sigtramp_end_addr
int i386fbsd4_sc_reg_offset []
int i386fbsd_sc_reg_offset []
int i386nbsd_sc_reg_offset []
int i386obsd_sc_reg_offset []
int i386bsd_sc_reg_offset []

Define Documentation

Definition at line 252 of file i386-tdep.h.

Referenced by i386_gdbarch_init().

#define I386_MAX_INSN_LEN   (16)

Definition at line 288 of file i386-tdep.h.

Referenced by i386_gdbarch_init(), and i386_relocate_instruction().

#define I386_MAX_REGISTER_SIZE   16
#define I386_NUM_GREGS   16
#define I386_NUM_XREGS   9

Definition at line 249 of file i386-tdep.h.

Referenced by i386_darwin_init_abi(), and i386_gdbarch_init().

#define I386_SEL_KPL   0x0000 /* Kernel Privilige Level. */

Definition at line 284 of file i386-tdep.h.

#define I386_SEL_RPL   0x0003 /* Requester's Privilege Level mask. */
#define I386_SEL_UPL   0x0003 /* User Privilige Level. */

Enumeration Type Documentation

Enumerator:
I386_EAX_REGNUM 
I386_ECX_REGNUM 
I386_EDX_REGNUM 
I386_EBX_REGNUM 
I386_ESP_REGNUM 
I386_EBP_REGNUM 
I386_ESI_REGNUM 
I386_EDI_REGNUM 
I386_EIP_REGNUM 
I386_EFLAGS_REGNUM 
I386_CS_REGNUM 
I386_SS_REGNUM 
I386_DS_REGNUM 
I386_ES_REGNUM 
I386_FS_REGNUM 
I386_GS_REGNUM 
I386_ST0_REGNUM 
I386_MXCSR_REGNUM 
I386_YMM0H_REGNUM 
I386_YMM7H_REGNUM 

Definition at line 194 of file i386-tdep.h.

Enumerator:
X86_RECORD_REAX_REGNUM 
X86_RECORD_RECX_REGNUM 
X86_RECORD_REDX_REGNUM 
X86_RECORD_REBX_REGNUM 
X86_RECORD_RESP_REGNUM 
X86_RECORD_REBP_REGNUM 
X86_RECORD_RESI_REGNUM 
X86_RECORD_REDI_REGNUM 
X86_RECORD_R8_REGNUM 
X86_RECORD_R9_REGNUM 
X86_RECORD_R10_REGNUM 
X86_RECORD_R11_REGNUM 
X86_RECORD_R12_REGNUM 
X86_RECORD_R13_REGNUM 
X86_RECORD_R14_REGNUM 
X86_RECORD_R15_REGNUM 
X86_RECORD_REIP_REGNUM 
X86_RECORD_EFLAGS_REGNUM 
X86_RECORD_CS_REGNUM 
X86_RECORD_SS_REGNUM 
X86_RECORD_DS_REGNUM 
X86_RECORD_ES_REGNUM 
X86_RECORD_FS_REGNUM 
X86_RECORD_GS_REGNUM 

Definition at line 220 of file i386-tdep.h.

Enumerator:
pcc_struct_return 
reg_struct_return 
pcc_struct_return 
reg_struct_return 
pcc_struct_return 
reg_struct_return 

Definition at line 49 of file i386-tdep.h.


Function Documentation

int i386_byte_regnum_p ( struct gdbarch gdbarch,
int  regnum 
)
void i386_collect_gregset ( const struct regset regset,
const struct regcache regcache,
int  regnum,
void *  gregs,
size_t  len 
)
struct displaced_step_closure* i386_displaced_step_copy_insn ( struct gdbarch gdbarch,
CORE_ADDR  from,
CORE_ADDR  to,
struct regcache regs 
) [read]
void i386_displaced_step_fixup ( struct gdbarch gdbarch,
struct displaced_step_closure closure,
CORE_ADDR  from,
CORE_ADDR  to,
struct regcache regs 
)
int i386_dword_regnum_p ( struct gdbarch gdbarch,
int  regnum 
)
void i386_elf_init_abi ( struct gdbarch_info  ,
struct gdbarch  
)
int i386_fp_regnum_p ( struct gdbarch ,
int   
)
int i386_fpc_regnum_p ( struct gdbarch ,
int   
)
CORE_ADDR i386_pe_skip_trampoline_code ( struct frame_info frame,
CORE_ADDR  pc,
char *  name 
)
int i386_process_record ( struct gdbarch gdbarch,
struct regcache regcache,
CORE_ADDR  addr 
)

Definition at line 4342 of file i386-tdep.c.

References _, i386_record_s::addr, i386_record_s::aflag, i386_record_s::dflag, extract_unsigned_integer(), fprintf_unfiltered(), gdb_stdlog, i386_record_s::gdbarch, gdbarch_byte_order(), gdbarch_tdep(), I386_EAX_REGNUM, i386_fp_regnum_p(), i386_fpc_regnum_p(), gdbarch_tdep::i386_intx80_record, i386_mmx_regnum_p(), i386_mxcsr_regnum_p(), i386_record_floats(), I386_RECORD_FULL_ARCH_LIST_ADD_REG, i386_record_lea_modrm(), i386_record_lea_modrm_addr(), i386_record_modrm(), i386_record_push(), I386_SAVE_FPU_ENV, I386_SAVE_FPU_ENV_REG_STACK, I386_SAVE_FPU_REGS, gdbarch_tdep::i386_syscall_record, gdbarch_tdep::i386_sysenter_record, i386_xmm_regnum_p(), I387_FCTRL_REGNUM, I387_FTAG_REGNUM, I387_MM0_REGNUM, I387_MXCSR_REGNUM, I387_ST0_REGNUM, I387_XMM0_REGNUM, MAX_REGISTER_SIZE, memset(), i386_record_s::mod, i386_record_s::modrm, OP_CMPL, i386_record_s::orig_addr, i386_record_s::ot, OT_BYTE, OT_DQUAD, OT_LONG, OT_QUAD, OT_WORD, i386_record_s::override, paddress(), i386_record_s::popl_esp_hack, PREFIX_ADDR, PREFIX_DATA, PREFIX_LOCK, PREFIX_REPNZ, PREFIX_REPZ, printf_unfiltered(), record_debug, record_full_arch_list_add_end(), record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), record_full_memory_query, record_read_memory(), gdbarch_tdep::record_regmap, i386_record_s::reg, i386_record_s::regcache, regcache_raw_read_unsigned(), i386_record_s::regmap, regnum, i386_record_s::rex_b, i386_record_s::rex_x, i386_record_s::rip_offset, i386_record_s::rm, target_terminal_inferior(), target_terminal_ours, ULONGEST, X86_RECORD_CS_REGNUM, X86_RECORD_DS_REGNUM, X86_RECORD_EFLAGS_REGNUM, X86_RECORD_ES_REGNUM, X86_RECORD_FS_REGNUM, X86_RECORD_GS_REGNUM, X86_RECORD_R8_REGNUM, X86_RECORD_REAX_REGNUM, X86_RECORD_REBP_REGNUM, X86_RECORD_REBX_REGNUM, X86_RECORD_RECX_REGNUM, X86_RECORD_REDI_REGNUM, X86_RECORD_REDX_REGNUM, X86_RECORD_REIP_REGNUM, X86_RECORD_RESI_REGNUM, X86_RECORD_RESP_REGNUM, X86_RECORD_SS_REGNUM, and yquery().

Referenced by amd64_linux_init_abi_common(), and i386_linux_init_abi().

const char* i386_pseudo_register_name ( struct gdbarch gdbarch,
int  regnum 
)
void i386_pseudo_register_read_into_value ( struct gdbarch gdbarch,
struct regcache regcache,
int  regnum,
struct value result 
)
struct type* i386_pseudo_register_type ( struct gdbarch gdbarch,
int  regnum 
) [read]
void i386_pseudo_register_write ( struct gdbarch gdbarch,
struct regcache regcache,
int  regnum,
const gdb_byte buf 
)
int i386_register_reggroup_p ( struct gdbarch gdbarch,
int  regnum,
struct reggroup group 
)
struct regset* i386_regset_from_core_section ( struct gdbarch gdbarch,
const char *  sect_name,
size_t  sect_size 
) [read]
int i386_sigtramp_p ( struct frame_info this_frame)
CORE_ADDR i386_skip_main_prologue ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
int i386_stap_is_single_operand ( struct gdbarch gdbarch,
const char *  s 
)

Definition at line 3445 of file i386-tdep.c.

Referenced by amd64_init_abi(), and i386_elf_init_abi().

int i386_stap_parse_special_token ( struct gdbarch gdbarch,
struct stap_parse_info p 
)
void i386_supply_gregset ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  gregs,
size_t  len 
)
void i386_svr4_init_abi ( struct gdbarch_info  ,
struct gdbarch  
)
int i386_word_regnum_p ( struct gdbarch gdbarch,
int  regnum 
)
int i386_xmm_regnum_p ( struct gdbarch gdbarch,
int  regnum 
)
int i386_ymm_regnum_p ( struct gdbarch gdbarch,
int  regnum 
)
void i386bsd_init_abi ( struct gdbarch_info  ,
struct gdbarch  
)
struct type* i387_ext_type ( struct gdbarch gdbarch) [read]

Variable Documentation

Definition at line 56 of file i386bsd-tdep.c.

Referenced by i386bsd_init_abi().

Definition at line 184 of file i386fbsd-tdep.c.

Referenced by i386fbsd4_init_abi().

Definition at line 51 of file i386fbsd-tdep.c.

Referenced by i386fbsdaout_init_abi().

Definition at line 48 of file i386fbsd-tdep.c.

Referenced by _initialize_i386fbsd_nat(), and i386fbsdaout_init_abi().

Definition at line 47 of file i386fbsd-tdep.c.

Referenced by _initialize_i386fbsd_nat(), and i386fbsdaout_init_abi().

Definition at line 61 of file i386nbsd-tdep.c.

Referenced by i386nbsd_sigtramp_cache_init().

Definition at line 181 of file i386obsd-tdep.c.

Referenced by i386obsd_init_abi().

Definition at line 178 of file i386obsd-tdep.c.

Referenced by _initialize_i386obsd_nat(), and i386obsd_init_abi().

Definition at line 177 of file i386obsd-tdep.c.

Referenced by _initialize_i386obsd_nat(), and i386obsd_init_abi().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines