diff options
Diffstat (limited to 'gnu/usr.bin/binutils/gdb/i386-tdep.h')
-rw-r--r-- | gnu/usr.bin/binutils/gdb/i386-tdep.h | 55 |
1 files changed, 11 insertions, 44 deletions
diff --git a/gnu/usr.bin/binutils/gdb/i386-tdep.h b/gnu/usr.bin/binutils/gdb/i386-tdep.h index 9cb87653e12..0a44db9b1d1 100644 --- a/gnu/usr.bin/binutils/gdb/i386-tdep.h +++ b/gnu/usr.bin/binutils/gdb/i386-tdep.h @@ -1,6 +1,6 @@ /* Target-dependent code for the i386. - Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GDB. @@ -89,6 +89,9 @@ struct gdbarch_tdep CORE_ADDR sigtramp_start; CORE_ADDR sigtramp_end; + /* Detect sigtramp. */ + int (*sigtramp_p) (struct frame_info *); + /* Get address of sigcontext for sigtramp. */ CORE_ADDR (*sigcontext_addr) (struct frame_info *); @@ -108,48 +111,11 @@ struct gdbarch_tdep (at most) in the FPU, but are zero-extended to 32 bits in GDB's register cache. */ -/* "Generic" floating point control register. */ -#define FPC_REGNUM (FP0_REGNUM + 8) - -/* FPU control word. */ -#define FCTRL_REGNUM FPC_REGNUM - -/* FPU status word. */ -#define FSTAT_REGNUM (FPC_REGNUM + 1) - -/* FPU register tag word. */ -#define FTAG_REGNUM (FPC_REGNUM + 2) - -/* FPU instruction's code segment selector, called "FPU Instruction - Pointer Selector" in the IA-32 manuals. */ -#define FISEG_REGNUM (FPC_REGNUM + 3) - -/* FPU instruction's offset within segment. */ -#define FIOFF_REGNUM (FPC_REGNUM + 4) - -/* FPU operand's data segment. */ -#define FOSEG_REGNUM (FPC_REGNUM + 5) - -/* FPU operand's offset within segment */ -#define FOOFF_REGNUM (FPC_REGNUM + 6) - -/* FPU opcode, bottom eleven bits. */ -#define FOP_REGNUM (FPC_REGNUM + 7) - /* Return non-zero if REGNUM matches the FP register and the FP register set is active. */ extern int i386_fp_regnum_p (int regnum); extern int i386_fpc_regnum_p (int regnum); -/* SSE registers. */ - -/* First SSE data register. */ -#define XMM0_REGNUM (FPC_REGNUM + 8) - -/* SSE control/status register. */ -#define MXCSR_REGNUM \ - (XMM0_REGNUM + gdbarch_tdep (current_gdbarch)->num_xmm_regs) - /* Register numbers of various important registers. */ enum i386_regnum @@ -183,12 +149,16 @@ enum i386_regnum /* Size of the largest register. */ #define I386_MAX_REGISTER_SIZE 16 +/* 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. */ + /* Functions exported from i386-tdep.c. */ extern CORE_ADDR i386_pe_skip_trampoline_code (CORE_ADDR pc, char *name); -extern int i386_frameless_signal_p (struct frame_info *frame); -/* Return the name of register REG. */ -extern char const *i386_register_name (int reg); +/* Return the name of register REGNUM. */ +extern char const *i386_register_name (int regnum); /* Return non-zero if REGNUM is a member of the specified group. */ extern int i386_register_reggroup_p (struct gdbarch *gdbarch, int regnum, @@ -217,9 +187,6 @@ extern void i386_svr4_init_abi (struct gdbarch_info, struct gdbarch *); /* Functions and variables exported from i386bsd-tdep.c. */ extern void i386bsd_init_abi (struct gdbarch_info, struct gdbarch *); -extern int i386bsd_pc_in_sigtramp (CORE_ADDR pc, char *name); -extern CORE_ADDR i386bsd_sigtramp_start (CORE_ADDR pc); -extern CORE_ADDR i386bsd_sigtramp_end (CORE_ADDR pc); extern CORE_ADDR i386fbsd_sigtramp_start_addr; extern CORE_ADDR i386fbsd_sigtramp_end_addr; extern CORE_ADDR i386obsd_sigtramp_start_addr; |