X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fi386-tdep.h;h=5f233f590fe61a85f15e0a8ff14af19d88d80be5;hb=1c658ad5fac2a221b589cbe26ec84c788b24a8d1;hp=49e072734e1b118c8882b213fe3deae11ed738b1;hpb=b55078be0adf688f7da6bc6feb6f7687dc319cc4;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h index 49e072734e..5f233f590f 100644 --- a/gdb/i386-tdep.h +++ b/gdb/i386-tdep.h @@ -1,7 +1,6 @@ /* Target-dependent code for the i386. - Copyright (C) 2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006-2012 Free Software Foundation, Inc. This file is part of GDB. @@ -157,8 +156,8 @@ struct gdbarch_tdep int num_xmm_regs; /* Bits of the extended control register 0 (the XFEATURE_ENABLED_MASK - register), excluding the x87 bit, which are supported by this GDB. - */ + register), excluding the x87 bit, which are supported by this GDB. */ + uint64_t xcr0; /* Offset of XCR0 in XSAVE extended state. */ @@ -307,22 +306,25 @@ extern int i386_word_regnum_p (struct gdbarch *gdbarch, int regnum); extern int i386_dword_regnum_p (struct gdbarch *gdbarch, int regnum); extern int i386_xmm_regnum_p (struct gdbarch *gdbarch, int regnum); extern int i386_ymm_regnum_p (struct gdbarch *gdbarch, int regnum); -extern int i386_ymmh_regnum_p (struct gdbarch *gdbarch, int regnum); extern const char *i386_pseudo_register_name (struct gdbarch *gdbarch, int regnum); +extern struct type *i386_pseudo_register_type (struct gdbarch *gdbarch, + int regnum); + +extern void i386_pseudo_register_read_into_value (struct gdbarch *gdbarch, + struct regcache *regcache, + int regnum, + struct value *result); -extern void i386_pseudo_register_read (struct gdbarch *gdbarch, - struct regcache *regcache, - int regnum, gdb_byte *buf); extern void i386_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, const gdb_byte *buf); /* Segment selectors. */ #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_SEL_UPL 0x0003 /* User Privilige Level. */ +#define I386_SEL_KPL 0x0000 /* Kernel Privilige Level. */ /* The length of the longest i386 instruction (according to include/asm-i386/kprobes.h in Linux 2.6. */ @@ -331,7 +333,8 @@ extern void i386_pseudo_register_write (struct gdbarch *gdbarch, /* Functions exported from i386-tdep.c. */ extern CORE_ADDR i386_pe_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc, char *name); -extern CORE_ADDR i386_skip_main_prologue (struct gdbarch *gdbarch, CORE_ADDR pc); +extern CORE_ADDR i386_skip_main_prologue (struct gdbarch *gdbarch, + CORE_ADDR pc); /* Return whether the THIS_FRAME corresponds to a sigtramp routine. */ extern int i386_sigtramp_p (struct frame_info *this_frame); @@ -378,6 +381,7 @@ extern void i386_svr4_init_abi (struct gdbarch_info, struct gdbarch *); extern int i386_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr); + /* Functions and variables exported from i386bsd-tdep.c. */ @@ -393,4 +397,12 @@ extern int i386nbsd_sc_reg_offset[]; extern int i386obsd_sc_reg_offset[]; extern int i386bsd_sc_reg_offset[]; +/* SystemTap related functions. */ + +extern int i386_stap_is_single_operand (struct gdbarch *gdbarch, + const char *s); + +extern int i386_stap_parse_special_token (struct gdbarch *gdbarch, + struct stap_parse_info *p); + #endif /* i386-tdep.h */