Use x86_64 sys/{ucontext,user}.h for i386 and x86_64
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 31 May 2012 23:11:11 +0000 (16:11 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 31 May 2012 23:11:11 +0000 (16:11 -0700)
ChangeLog
sysdeps/unix/sysv/linux/i386/sys/ucontext.h [deleted file]
sysdeps/unix/sysv/linux/i386/sys/user.h [deleted file]
sysdeps/unix/sysv/linux/x86/sys/ucontext.h [moved from sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h with 100% similarity]
sysdeps/unix/sysv/linux/x86/sys/user.h [moved from sysdeps/unix/sysv/linux/x86_64/sys/user.h with 100% similarity]

index 07c1dc5..ba887b6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,13 @@
 2012-05-31  H.J. Lu  <hongjiu.lu@intel.com>
 
        [BZ #14117]
+       * sysdeps/unix/sysv/linux/i386/sys/ucontext.h: Removed.
+       * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: Renamed to ...
+       * sysdeps/unix/sysv/linux/x86/sys/ucontext.h: This.
+       * sysdeps/unix/sysv/linux/i386/sys/user.h: Removed.
+       * sysdeps/unix/sysv/linux/x86_64/sys/user.h: Renamed to ...
+       * sysdeps/unix/sysv/linux/x86/sys/user.h: This.
+
        * sysdeps/unix/sysv/linux/i386/sys/procfs.h: Removed.
        * sysdeps/unix/sysv/linux/x86_64/sys/procfs.h: Renamed to ...
        * sysdeps/unix/sysv/linux/x86/sys/procfs.h: This.
diff --git a/sysdeps/unix/sysv/linux/i386/sys/ucontext.h b/sysdeps/unix/sysv/linux/i386/sys/ucontext.h
deleted file mode 100644 (file)
index 6306623..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 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>
-
-
-/* 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 /* sys/ucontext.h */
diff --git a/sysdeps/unix/sysv/linux/i386/sys/user.h b/sysdeps/unix/sysv/linux/i386/sys/user.h
deleted file mode 100644 (file)
index e426afe..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Copyright (C) 1998, 2000 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.  */
-
-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                        start_code;
-  unsigned long                        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];
-};
-
-#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 */