about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/x86_64
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-05-31 16:11:11 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-05-31 16:11:11 -0700
commit8bca20f013c201778c96df943e1d465971bc695c (patch)
tree03f0560a72ab84fb3935f62cad68232e4b22d812 /sysdeps/unix/sysv/linux/x86_64
parentf9e890a99c576c2244539431b9fa4fb14a5898b3 (diff)
downloadglibc-8bca20f013c201778c96df943e1d465971bc695c.tar.gz
glibc-8bca20f013c201778c96df943e1d465971bc695c.tar.xz
glibc-8bca20f013c201778c96df943e1d465971bc695c.zip
Use x86_64 sys/{ucontext,user}.h for i386 and x86_64
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86_64')
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h246
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sys/user.h180
2 files changed, 0 insertions, 426 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h b/sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h
deleted file mode 100644
index 7a3938cbcd..0000000000
--- a/sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h
+++ /dev/null
@@ -1,246 +0,0 @@
-/* Copyright (C) 2001-2012 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H	1
-
-#include <features.h>
-#include <signal.h>
-
-/* We need the signal context definitions even if they are not used
-   included in <signal.h>.  */
-#include <bits/sigcontext.h>
-
-#ifdef __x86_64__
-
-/* Type for general register.  */
-__extension__ typedef long long int greg_t;
-
-/* Number of general registers.  */
-#define NGREG	23
-
-/* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
-
-#ifdef __USE_GNU
-/* Number of each register in the `gregset_t' array.  */
-enum
-{
-  REG_R8 = 0,
-# define REG_R8		REG_R8
-  REG_R9,
-# define REG_R9		REG_R9
-  REG_R10,
-# define REG_R10	REG_R10
-  REG_R11,
-# define REG_R11	REG_R11
-  REG_R12,
-# define REG_R12	REG_R12
-  REG_R13,
-# define REG_R13	REG_R13
-  REG_R14,
-# define REG_R14	REG_R14
-  REG_R15,
-# define REG_R15	REG_R15
-  REG_RDI,
-# define REG_RDI	REG_RDI
-  REG_RSI,
-# define REG_RSI	REG_RSI
-  REG_RBP,
-# define REG_RBP	REG_RBP
-  REG_RBX,
-# define REG_RBX	REG_RBX
-  REG_RDX,
-# define REG_RDX	REG_RDX
-  REG_RAX,
-# define REG_RAX	REG_RAX
-  REG_RCX,
-# define REG_RCX	REG_RCX
-  REG_RSP,
-# define REG_RSP	REG_RSP
-  REG_RIP,
-# define REG_RIP	REG_RIP
-  REG_EFL,
-# define REG_EFL	REG_EFL
-  REG_CSGSFS,		/* Actually short cs, gs, fs, __pad0.  */
-# define REG_CSGSFS	REG_CSGSFS
-  REG_ERR,
-# define REG_ERR	REG_ERR
-  REG_TRAPNO,
-# define REG_TRAPNO	REG_TRAPNO
-  REG_OLDMASK,
-# define REG_OLDMASK	REG_OLDMASK
-  REG_CR2
-# define REG_CR2	REG_CR2
-};
-#endif
-
-struct _libc_fpxreg
-{
-  unsigned short int significand[4];
-  unsigned short int exponent;
-  unsigned short int padding[3];
-};
-
-struct _libc_xmmreg
-{
-  __uint32_t	element[4];
-};
-
-struct _libc_fpstate
-{
-  /* 64-bit FXSAVE format.  */
-  __uint16_t		cwd;
-  __uint16_t		swd;
-  __uint16_t		ftw;
-  __uint16_t		fop;
-  __uint64_t		rip;
-  __uint64_t		rdp;
-  __uint32_t		mxcsr;
-  __uint32_t		mxcr_mask;
-  struct _libc_fpxreg	_st[8];
-  struct _libc_xmmreg	_xmm[16];
-  __uint32_t		padding[24];
-};
-
-/* Structure to describe FPU registers.  */
-typedef struct _libc_fpstate *fpregset_t;
-
-/* Context to describe whole processor state.  */
-typedef struct
-  {
-    gregset_t gregs;
-    /* Note that fpregs is a pointer.  */
-    fpregset_t fpregs;
-    __extension__ unsigned long long __reserved1 [8];
-} mcontext_t;
-
-/* Userlevel context.  */
-typedef struct ucontext
-  {
-    unsigned long int uc_flags;
-    struct ucontext *uc_link;
-    stack_t uc_stack;
-    mcontext_t uc_mcontext;
-    __sigset_t uc_sigmask;
-    struct _libc_fpstate __fpregs_mem;
-  } ucontext_t;
-
-#else /* !__x86_64__ */
-
-/* Type for general register.  */
-typedef int greg_t;
-
-/* Number of general registers.  */
-#define NGREG	19
-
-/* Container for all general registers.  */
-typedef greg_t gregset_t[NGREG];
-
-#ifdef __USE_GNU
-/* Number of each register is the `gregset_t' array.  */
-enum
-{
-  REG_GS = 0,
-# define REG_GS		REG_GS
-  REG_FS,
-# define REG_FS		REG_FS
-  REG_ES,
-# define REG_ES		REG_ES
-  REG_DS,
-# define REG_DS		REG_DS
-  REG_EDI,
-# define REG_EDI	REG_EDI
-  REG_ESI,
-# define REG_ESI	REG_ESI
-  REG_EBP,
-# define REG_EBP	REG_EBP
-  REG_ESP,
-# define REG_ESP	REG_ESP
-  REG_EBX,
-# define REG_EBX	REG_EBX
-  REG_EDX,
-# define REG_EDX	REG_EDX
-  REG_ECX,
-# define REG_ECX	REG_ECX
-  REG_EAX,
-# define REG_EAX	REG_EAX
-  REG_TRAPNO,
-# define REG_TRAPNO	REG_TRAPNO
-  REG_ERR,
-# define REG_ERR	REG_ERR
-  REG_EIP,
-# define REG_EIP	REG_EIP
-  REG_CS,
-# define REG_CS		REG_CS
-  REG_EFL,
-# define REG_EFL	REG_EFL
-  REG_UESP,
-# define REG_UESP	REG_UESP
-  REG_SS
-# define REG_SS	REG_SS
-};
-#endif
-
-/* Definitions taken from the kernel headers.  */
-struct _libc_fpreg
-{
-  unsigned short int significand[4];
-  unsigned short int exponent;
-};
-
-struct _libc_fpstate
-{
-  unsigned long int cw;
-  unsigned long int sw;
-  unsigned long int tag;
-  unsigned long int ipoff;
-  unsigned long int cssel;
-  unsigned long int dataoff;
-  unsigned long int datasel;
-  struct _libc_fpreg _st[8];
-  unsigned long int status;
-};
-
-/* Structure to describe FPU registers.  */
-typedef struct _libc_fpstate *fpregset_t;
-
-/* Context to describe whole processor state.  */
-typedef struct
-  {
-    gregset_t gregs;
-    /* Due to Linux's history we have to use a pointer here.  The SysV/i386
-       ABI requires a struct with the values.  */
-    fpregset_t fpregs;
-    unsigned long int oldmask;
-    unsigned long int cr2;
-  } mcontext_t;
-
-/* Userlevel context.  */
-typedef struct ucontext
-  {
-    unsigned long int uc_flags;
-    struct ucontext *uc_link;
-    stack_t uc_stack;
-    mcontext_t uc_mcontext;
-    __sigset_t uc_sigmask;
-    struct _libc_fpstate __fpregs_mem;
-  } ucontext_t;
-
-#endif /* !__x86_64__ */
-
-#endif /* sys/ucontext.h */
diff --git a/sysdeps/unix/sysv/linux/x86_64/sys/user.h b/sysdeps/unix/sysv/linux/x86_64/sys/user.h
deleted file mode 100644
index 9db293713f..0000000000
--- a/sysdeps/unix/sysv/linux/x86_64/sys/user.h
+++ /dev/null
@@ -1,180 +0,0 @@
-/* Copyright (C) 2001-2012 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_USER_H
-#define _SYS_USER_H	1
-
-/* The whole purpose of this file is for GDB and GDB only.  Don't read
-   too much into it.  Don't use it for anything other than GDB unless
-   you know what you are doing.  */
-
-#ifdef __x86_64__
-
-struct user_fpregs_struct
-{
-  unsigned short int	cwd;
-  unsigned short int	swd;
-  unsigned short int	ftw;
-  unsigned short int	fop;
-  __extension__ unsigned long long int rip;
-  __extension__ unsigned long long int rdp;
-  unsigned int		mxcsr;
-  unsigned int		mxcr_mask;
-  unsigned int		st_space[32];   /* 8*16 bytes for each FP-reg = 128 bytes */
-  unsigned int		xmm_space[64];  /* 16*16 bytes for each XMM-reg = 256 bytes */
-  unsigned int		padding[24];
-};
-
-struct user_regs_struct
-{
-  __extension__ unsigned long long int r15;
-  __extension__ unsigned long long int r14;
-  __extension__ unsigned long long int r13;
-  __extension__ unsigned long long int r12;
-  __extension__ unsigned long long int rbp;
-  __extension__ unsigned long long int rbx;
-  __extension__ unsigned long long int r11;
-  __extension__ unsigned long long int r10;
-  __extension__ unsigned long long int r9;
-  __extension__ unsigned long long int r8;
-  __extension__ unsigned long long int rax;
-  __extension__ unsigned long long int rcx;
-  __extension__ unsigned long long int rdx;
-  __extension__ unsigned long long int rsi;
-  __extension__ unsigned long long int rdi;
-  __extension__ unsigned long long int orig_rax;
-  __extension__ unsigned long long int rip;
-  __extension__ unsigned long long int cs;
-  __extension__ unsigned long long int eflags;
-  __extension__ unsigned long long int rsp;
-  __extension__ unsigned long long int ss;
-  __extension__ unsigned long long int fs_base;
-  __extension__ unsigned long long int gs_base;
-  __extension__ unsigned long long int ds;
-  __extension__ unsigned long long int es;
-  __extension__ unsigned long long int fs;
-  __extension__ unsigned long long int gs;
-};
-
-struct user
-{
-  struct user_regs_struct	regs;
-  int				u_fpvalid;
-  struct user_fpregs_struct	i387;
-  __extension__ unsigned long long int	u_tsize;
-  __extension__ unsigned long long int	u_dsize;
-  __extension__ unsigned long long int	u_ssize;
-  __extension__ unsigned long long int	start_code;
-  __extension__ unsigned long long int	start_stack;
-  __extension__ long long int		signal;
-  int				reserved;
-  __extension__ union
-    {
-      struct user_regs_struct*	u_ar0;
-      __extension__ unsigned long long int	__u_ar0_word;
-    };
-  __extension__ union
-    {
-      struct user_fpregs_struct*	u_fpstate;
-      __extension__ unsigned long long int	__u_fpstate_word;
-    };
-  __extension__ unsigned long long int	magic;
-  char				u_comm [32];
-  __extension__ unsigned long long int	u_debugreg [8];
-};
-
-#else
-/* These are the 32-bit x86 structures.  */
-struct user_fpregs_struct
-{
-  long int cwd;
-  long int swd;
-  long int twd;
-  long int fip;
-  long int fcs;
-  long int foo;
-  long int fos;
-  long int st_space [20];
-};
-
-struct user_fpxregs_struct
-{
-  unsigned short int cwd;
-  unsigned short int swd;
-  unsigned short int twd;
-  unsigned short int fop;
-  long int fip;
-  long int fcs;
-  long int foo;
-  long int fos;
-  long int mxcsr;
-  long int reserved;
-  long int st_space[32];   /* 8*16 bytes for each FP-reg = 128 bytes */
-  long int xmm_space[32];  /* 8*16 bytes for each XMM-reg = 128 bytes */
-  long int padding[56];
-};
-
-struct user_regs_struct
-{
-  long int ebx;
-  long int ecx;
-  long int edx;
-  long int esi;
-  long int edi;
-  long int ebp;
-  long int eax;
-  long int xds;
-  long int xes;
-  long int xfs;
-  long int xgs;
-  long int orig_eax;
-  long int eip;
-  long int xcs;
-  long int eflags;
-  long int esp;
-  long int xss;
-};
-
-struct user
-{
-  struct user_regs_struct	regs;
-  int				u_fpvalid;
-  struct user_fpregs_struct	i387;
-  unsigned long int		u_tsize;
-  unsigned long int		u_dsize;
-  unsigned long int		u_ssize;
-  unsigned long int		start_code;
-  unsigned long int		start_stack;
-  long int			signal;
-  int				reserved;
-  struct user_regs_struct*	u_ar0;
-  struct user_fpregs_struct*	u_fpstate;
-  unsigned long int		magic;
-  char				u_comm [32];
-  int				u_debugreg [8];
-};
-#endif  /* __x86_64__ */
-
-#define PAGE_SHIFT		12
-#define PAGE_SIZE		(1UL << PAGE_SHIFT)
-#define PAGE_MASK		(~(PAGE_SIZE-1))
-#define NBPG			PAGE_SIZE
-#define UPAGES			1
-#define HOST_TEXT_START_ADDR	(u.start_code)
-#define HOST_STACK_END_ADDR	(u.start_stack + u.u_ssize * NBPG)
-
-#endif	/* _SYS_USER_H */