Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 25 May 1999 11:58:59 +0000 (11:58 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 25 May 1999 11:58:59 +0000 (11:58 +0000)
1999-05-24  Jakub Jelinek  <jj@ultra.linux.cz>

* sysdeps/sparc/bits/wordsize.h: New file.
* sysdeps/sparc/bits/fenv.h: New file.
* sysdeps/sparc/fpu_control.h: New file.
* sysdeps/sparc/gmp-mparam.h: New file.

* sysdeps/sparc/sparc32/fpu/bits/fenv.h: Remove.
* sysdeps/sparc/sparc32/fpu/fpu_control.h: Remove.
* sysdeps/sparc/sparc64/bits/wordsize.h: Remove.
* sysdeps/sparc/sparc64/fpu/bits/fenv.h: Remove.
* sysdeps/sparc/sparc64/fpu/fpu_control.h: Remove.
* sysdeps/sparc/sparc64/gmp-mparam.h: Remove.

* sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: New file.
* sysdeps/unix/sysv/linux/sparc/bits/types.h: New file.
* sysdeps/unix/sysv/linux/sparc/bits/statfs.h: New file.
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: New file.

* sysdeps/unix/sysv/linux/sparc/sparc32/sys/ucontext.h: Remove.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Remove.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Remove.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Remove.
* sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: Remove.

1999-05-19  Jakub Jelinek  <jj@ultra.linux.cz>
1999-05-19  Jakub Jelinek  <jj@ultra.linux.cz>
1999-05-19  Jakub Jelinek  <jj@ultra.linux.cz>

14 files changed:
ChangeLog
sysdeps/sparc/bits/wordsize.h [new file with mode: 0644]
sysdeps/sparc/fpu/bits/fenv.h [moved from sysdeps/sparc/sparc64/fpu/bits/fenv.h with 100% similarity]
sysdeps/sparc/fpu/fpu_control.h [moved from sysdeps/sparc/sparc32/fpu/fpu_control.h with 84% similarity]
sysdeps/sparc/gmp-mparam.h [new file with mode: 0644]
sysdeps/sparc/sparc32/fpu/bits/fenv.h [deleted file]
sysdeps/sparc/sparc64/bits/wordsize.h [deleted file]
sysdeps/sparc/sparc64/fpu/fpu_control.h [deleted file]
sysdeps/sparc/sparc64/gmp-mparam.h [deleted file]
sysdeps/unix/sysv/linux/sparc/bits/setjmp.h [moved from sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h with 96% similarity]
sysdeps/unix/sysv/linux/sparc/bits/statfs.h [moved from sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h with 86% similarity]
sysdeps/unix/sysv/linux/sparc/bits/types.h [moved from sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h with 94% similarity]
sysdeps/unix/sysv/linux/sparc/sparc32/sys/ucontext.h [deleted file]
sysdeps/unix/sysv/linux/sparc/sys/ucontext.h [moved from sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h with 100% similarity]

index 4a94d4c..f5a903d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+1999-05-24  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * sysdeps/sparc/bits/wordsize.h: New file.
+       * sysdeps/sparc/bits/fenv.h: New file.
+       * sysdeps/sparc/fpu_control.h: New file.
+       * sysdeps/sparc/gmp-mparam.h: New file.
+
+       * sysdeps/sparc/sparc32/fpu/bits/fenv.h: Remove.
+       * sysdeps/sparc/sparc32/fpu/fpu_control.h: Remove.
+       * sysdeps/sparc/sparc64/bits/wordsize.h: Remove.
+       * sysdeps/sparc/sparc64/fpu/bits/fenv.h: Remove.
+       * sysdeps/sparc/sparc64/fpu/fpu_control.h: Remove.
+       * sysdeps/sparc/sparc64/gmp-mparam.h: Remove.
+
+       * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: New file.
+       * sysdeps/unix/sysv/linux/sparc/bits/types.h: New file.
+       * sysdeps/unix/sysv/linux/sparc/bits/statfs.h: New file.
+       * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: New file.
+
+       * sysdeps/unix/sysv/linux/sparc/sparc32/sys/ucontext.h: Remove.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Remove.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Remove.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Remove.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: Remove.
+
 1999-05-24  Ulrich Drepper  <drepper@cygnus.com>
 
        * login/openpty.c (openpty): Make sure pty does not because
@@ -47,7 +72,7 @@
 
        * configure.in: Recognize and allow gcc 2.95.
 
-1999-05-19  Jakub Jelinek   <jj@ultra.linux.cz>
+1999-05-19  Jakub Jelinek  <jj@ultra.linux.cz>
 
        * sysdeps/generic/bits/elfclass.h: Version common to
        wordsize-32 and wordsize-64.
        * sysdeps/wordsize-32/inttypes.h: Remove.
        * sysdeps/wordsize-32/bits/wordsize.h: New file.
 
-1999-05-19  Jakub Jelinek   <jj@ultra.linux.cz>
+1999-05-19  Jakub Jelinek  <jj@ultra.linux.cz>
 
        * sysdeps/sparc/sparc64/memcpy.S (__align_cpy_4, __align_cpy_8,
        __align_cpy_16): New functions.
        * sysdeps/sparc/sparc64/Versions: New file.
        * sysdeps/sparc/Versions: Remove.
 
-1999-05-19  Jakub Jelinek   <jj@ultra.linux.cz>
+1999-05-19  Jakub Jelinek  <jj@ultra.linux.cz>
 
        * sysdeps/unix/sysv/linux/configure.in:
        On sparc64-*-linux*, set slibdir to /lib64 if prefix
diff --git a/sysdeps/sparc/bits/wordsize.h b/sysdeps/sparc/bits/wordsize.h
new file mode 100644 (file)
index 0000000..2ad12e1
--- /dev/null
@@ -0,0 +1,7 @@
+/* Determine the wordsize from the preprocessor defines.  */
+
+#if defined __sparc_v9__ || defined __arch64__ || defined __sparcv9
+# define __WORDSIZE    64
+#else
+# define __WORDSIZE    32
+#endif
similarity index 84%
rename from sysdeps/sparc/sparc32/fpu/fpu_control.h
rename to sysdeps/sparc/fpu/fpu_control.h
index 7cbdf6d..4b03df8 100644 (file)
@@ -23,6 +23,7 @@
 
 
 #include <features.h>
+#include <bits/wordsize.h>
 
 /* masking of interrupts */
 #define _FPU_MASK_IM  0x08000000
 /* Linux and IEEE default:
      - extended precision
      - rounding to nearest
-     - no exceptions.  */
+     - no exceptions  */
 #define _FPU_DEFAULT  0x0
 #define _FPU_IEEE     0x0
 
 /* Type of the control word.  */
-typedef unsigned int fpu_control_t;
-
-#define _FPU_GETCW(cw) __asm__ ("st %%fsr,%0" : "=m" (*&cw))
-#define _FPU_SETCW(cw) __asm__ ("ld %0,%%fsr" : : "m" (*&cw))
+typedef unsigned long int fpu_control_t;
+
+#if __WORDSIZE == 64
+# define _FPU_GETCW(cw) __asm__ ("stx %%fsr,%0" : "=m" (*&cw))
+# define _FPU_SETCW(cw) __asm__ ("ldx %0,%%fsr" : : "m" (*&cw))
+#else
+# define _FPU_GETCW(cw) __asm__ ("st %%fsr,%0" : "=m" (*&cw))
+# define _FPU_SETCW(cw) __asm__ ("ld %0,%%fsr" : : "m" (*&cw))
+#endif
 
 /* Default control word set at startup.  */
 extern fpu_control_t __fpu_control;
diff --git a/sysdeps/sparc/gmp-mparam.h b/sysdeps/sparc/gmp-mparam.h
new file mode 100644 (file)
index 0000000..873dfcb
--- /dev/null
@@ -0,0 +1,27 @@
+/* gmp-mparam.h -- Compiler/machine parameter header file.
+   Copyright (C) 1991, 1993, 1994, 1999 Free Software Foundation, Inc.
+   This file is part of the GNU MP Library.
+
+   The GNU MP Library is free software; you can redistribute it and/or modify
+   it under the terms of the GNU Library General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or (at your
+   option) any later version.
+
+   The GNU MP 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 Library General Public
+   License for more details.
+
+   You should have received a copy of the GNU Library General Public License
+   along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
+   the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+   MA 02111-1307, USA. */
+
+#include <bits/wordsize.h>
+
+#define BITS_PER_MP_LIMB __WORDSIZE
+#define BYTES_PER_MP_LIMB (__WORDSIZE / 8)
+#define BITS_PER_LONGINT __WORDSIZE
+#define BITS_PER_INT 32
+#define BITS_PER_SHORTINT 16
+#define BITS_PER_CHAR 8
diff --git a/sysdeps/sparc/sparc32/fpu/bits/fenv.h b/sysdeps/sparc/sparc32/fpu/bits/fenv.h
deleted file mode 100644 (file)
index 6858caa..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright (C) 1997, 1998 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 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
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#ifndef _FENV_H
-# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
-#endif
-
-
-/* Define bits representing the exception.  We use the bit positions
-   of the appropriate accrued exception bits from the FSR.  */
-enum
-  {
-    FE_INVALID =       (1 << 9),
-#define FE_INVALID     FE_INVALID
-    FE_OVERFLOW =      (1 << 8),
-#define FE_OVERFLOW    FE_OVERFLOW
-    FE_UNDERFLOW =     (1 << 7),
-#define FE_UNDERFLOW   FE_UNDERFLOW
-    FE_DIVBYZERO =     (1 << 6),
-#define FE_DIVBYZERO   FE_DIVBYZERO
-    FE_INEXACT =       (1 << 5)
-#define FE_INEXACT     FE_INEXACT
-  };
-
-#define FE_ALL_EXCEPT \
-       (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
-
-/* The Sparc FPU supports all of the four defined rounding modes.  We
-   use again the bit positions in the FPU control word as the values
-   for the appropriate macros.  */
-enum
-  {
-    FE_TONEAREST =     (0U << 30),
-#define FE_TONEAREST   FE_TONEAREST
-    FE_TOWARDZERO =    (1U << 30),
-#define FE_TOWARDZERO  FE_TOWARDZERO
-    FE_UPWARD =        (2U << 30),
-#define FE_UPWARD      FE_UPWARD
-    FE_DOWNWARD =      (3U << 30)
-#define FE_DOWNWARD    FE_DOWNWARD
-  };
-
-#define __FE_ROUND_MASK        (3U << 30)
-
-/* Type representing exception flags.  */
-typedef unsigned int fexcept_t;
-
-/* Type representing floating-point environment.  */
-typedef unsigned int fenv_t;
-
-/* If the default argument is used we use this value.  */
-#define FE_DFL_ENV     ((fenv_t *) -1)
-
-#ifdef __USE_GNU
-/* Floating-point environment where none of the exception is masked.  */
-# define FE_NOMASK_ENV ((fenv_t *) -2)
-#endif
-
-/* For internal use only: access the fp state register.  */
-#define __fenv_stfsr(X)   __asm__ ("st %%fsr,%0" : "=m" (X))
-#define __fenv_ldfsr(X)   __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))
diff --git a/sysdeps/sparc/sparc64/bits/wordsize.h b/sysdeps/sparc/sparc64/bits/wordsize.h
deleted file mode 100644 (file)
index f86b7f7..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 1999 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 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
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#if defined __sparc_v9__ || defined __arch64__ || defined __sparcv9
-# define __WORDSIZE    64
-#else
-# define __WORDSIZE    32
-#endif
diff --git a/sysdeps/sparc/sparc64/fpu/fpu_control.h b/sysdeps/sparc/sparc64/fpu/fpu_control.h
deleted file mode 100644 (file)
index a89f00e..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/* FPU control word bits.  SPARC v9 version.
-   Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Miguel de Icaza
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 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
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#ifndef _FPU_CONTROL_H
-#define _FPU_CONTROL_H 1
-
-
-#include <features.h>
-#include <bits/wordsize.h>
-
-/* masking of interrupts */
-#define _FPU_MASK_IM  0x08000000
-#define _FPU_MASK_OM  0x04000000
-#define _FPU_MASK_UM  0x02000000
-#define _FPU_MASK_ZM  0x01000000
-#define _FPU_MASK_PM  0x00800000
-
-/* precision control */
-#define _FPU_EXTENDED 0x00000000     /* RECOMMENDED */
-#define _FPU_DOUBLE   0x20000000
-#define _FPU_80BIT    0x30000000
-#define _FPU_SINGLE   0x10000000     /* DO NOT USE */
-
-/* rounding control / Sparc */
-#define _FPU_RC_DOWN    0xc0000000
-#define _FPU_RC_UP      0x80000000
-#define _FPU_RC_ZERO    0x40000000
-#define _FPU_RC_NEAREST 0x0        /* RECOMMENDED */
-
-#define _FPU_RESERVED   0x30300000  /* Reserved bits in cw */
-
-
-/* Now two recommended cw */
-
-/* Linux and IEEE default:
-     - extended precision
-     - rounding to nearest
-     - no exceptions  */
-#define _FPU_DEFAULT  0x0
-#define _FPU_IEEE     0x0
-
-#if __WORDSIZE == 64
-/* Type of the control word.  */
-typedef unsigned long fpu_control_t;
-
-#define _FPU_GETCW(cw) __asm__ ("stx %%fsr,%0" : "=m" (*&cw))
-#define _FPU_SETCW(cw) __asm__ ("ldx %0,%%fsr" : : "m" (*&cw))
-#else
-/* Type of the control word.  */
-typedef unsigned int fpu_control_t;
-
-#define _FPU_GETCW(cw) __asm__ ("st %%fsr,%0" : "=m" (*&cw))
-#define _FPU_SETCW(cw) __asm__ ("ld %0,%%fsr" : : "m" (*&cw))
-#endif
-
-/* Default control word set at startup.  */
-extern fpu_control_t __fpu_control;
-
-#endif /* fpu_control.h */
diff --git a/sysdeps/sparc/sparc64/gmp-mparam.h b/sysdeps/sparc/sparc64/gmp-mparam.h
deleted file mode 100644 (file)
index a3c6697..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/* gmp-mparam.h -- Compiler/machine parameter header file.
-
-Copyright (C) 1991, 1993, 1994 Free Software Foundation, Inc.
-
-This file is part of the GNU MP Library.
-
-The GNU MP Library is free software; you can redistribute it and/or modify
-it under the terms of the GNU Library General Public License as published by
-the Free Software Foundation; either version 2 of the License, or (at your
-option) any later version.
-
-The GNU MP 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 Library General Public
-License for more details.
-
-You should have received a copy of the GNU Library General Public License
-along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-MA 02111-1307, USA. */
-
-#define BITS_PER_MP_LIMB 64
-#define BYTES_PER_MP_LIMB 8
-#define BITS_PER_LONGINT 64
-#define BITS_PER_INT 32
-#define BITS_PER_SHORTINT 16
-#define BITS_PER_CHAR 8
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1999 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
 
 struct statfs
   {
-#if __WORDSIZE == 64
     long int f_type;
     long int f_bsize;
-#else
-    int f_type;
-    int f_bsize;
-#endif
 #ifndef __USE_FILE_OFFSET64
     __fsblkcnt_t f_blocks;
     __fsblkcnt_t f_bfree;
@@ -45,37 +40,22 @@ struct statfs
     __fsfilcnt64_t f_ffree;
 #endif
     __fsid_t f_fsid;
-#if __WORDSIZE == 64
     long int f_namelen;
     long int f_spare[6];
-#else    
-    int f_namelen;
-    int f_spare[6];
-#endif
   };
 
 #ifdef __USE_LARGEFILE64
 struct statfs64
   {
-#if __WORDSIZE == 64
     long int f_type;
     long int f_bsize;
-#else
-    int f_type;
-    int f_bsize;
-#endif
     __fsblkcnt64_t f_blocks;
     __fsblkcnt64_t f_bfree;
     __fsblkcnt64_t f_bavail;
     __fsfilcnt64_t f_files;
     __fsfilcnt64_t f_ffree;
     __fsid_t f_fsid;
-#if __WORDSIZE == 64
     long int f_namelen;
     long int f_spare[6];
-#else    
-    int f_namelen;
-    int f_spare[6];
-#endif
   };
 #endif
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,94,95,96,97,98,99 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
@@ -38,10 +38,10 @@ typedef unsigned long int __u_long;
 typedef unsigned long int __u_quad_t;
 typedef long int __quad_t;
 #else
-#ifdef __GNUC__
+# ifdef __GNUC__
 __extension__ typedef unsigned long long int __u_quad_t;
 __extension__ typedef long long int __quad_t;
-#else
+# else
 typedef struct
   {
     long int __val[2];
@@ -50,7 +50,7 @@ typedef struct
   {
     __u_long __val[2];
   } __u_quad_t;
-#endif
+# endif
 #endif
 typedef signed char __int8_t;
 typedef unsigned char __uint8_t;
@@ -63,10 +63,10 @@ typedef signed long int __int64_t;
 typedef unsigned long int __uint64_t;
 typedef __quad_t *__qaddr_t;
 #else
-#ifdef __GNUC__
+# ifdef __GNUC__
 __extension__ typedef signed long long int __int64_t;
 __extension__ typedef unsigned long long int __uint64_t;
-#endif
+# endif
 #endif
 
 typedef __u_quad_t __dev_t;            /* Type of device numbers.  */
@@ -125,10 +125,10 @@ typedef struct
        from the user namespace.  */
 #ifdef __USE_XOPEN
     __fd_mask fds_bits[__FD_SETSIZE / __NFDBITS];
-# define __FDS_BITS(set) ((set)->fds_bits) 
+# define __FDS_BITS(set) ((set)->fds_bits)
 #else
     __fd_mask __fds_bits[__FD_SETSIZE / __NFDBITS];
-# define __FDS_BITS(set) ((set)->__fds_bits) 
+# define __FDS_BITS(set) ((set)->__fds_bits)
 #endif
   } __fd_set;
 
@@ -150,11 +150,7 @@ typedef long int __blkcnt_t;
 typedef __quad_t __blkcnt64_t;
 
 /* Type to count file system blocks.  */
-#if __WORDSIZE == 64
 typedef __u_long     __fsblkcnt_t;
-#else
-typedef unsigned int __fsblkcnt_t;
-#endif
 typedef __u_quad_t __fsblkcnt64_t;
 
 /* Type to count file system inodes.  */
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sys/ucontext.h b/sysdeps/unix/sysv/linux/sparc/sparc32/sys/ucontext.h
deleted file mode 100644 (file)
index d672a94..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/* Copyright (C) 1998 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 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
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H        1
-
-#include <features.h>
-#include <signal.h>
-
-/*
- * Location of the users' stored registers relative to R0.
- * Usage is as an index into a gregset_t array or as u.u_ar0[XX].
- */
-#define REG_PSR (0)
-#define REG_PC  (1)
-#define REG_nPC (2)
-#define REG_Y   (3)
-#define REG_G1  (4)
-#define REG_G2  (5)
-#define REG_G3  (6)
-#define REG_G4  (7)
-#define REG_G5  (8)
-#define REG_G6  (9)
-#define REG_G7  (10)
-#define REG_O0  (11)
-#define REG_O1  (12)
-#define REG_O2  (13)
-#define REG_O3  (14)
-#define REG_O4  (15)
-#define REG_O5  (16)
-#define REG_O6  (17)
-#define REG_O7  (18)
-
-/*
- * A gregset_t is defined as an array type for compatibility with the reference
- * source. This is important due to differences in the way the C language
- * treats arrays and structures as parameters.
- *
- * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)),
- * but that the ABI defines it absolutely to be 19.
- */
-#define NGREG   19
-
-typedef int greg_t;
-typedef greg_t  gregset_t[NGREG];
-
-/*
- * The following structures define how a register window can appear on the
- * stack. This structure is available (when required) through the `gwins'
- * field of an mcontext (nested within ucontext). SPARC_MAXWINDOW is the
- * maximum number of outstanding regiters window defined in the SPARC
- * architecture (*not* implementation).
- */
-#define SPARC_MAXREGWINDOW     31      /* max windows in SPARC arch. */
-struct  rwindow
-  {
-    greg_t rw_local[8];                        /* locals */
-    greg_t rw_in[8];                   /* ins */
-  };
-
-#define rw_fp   rw_in[6]               /* frame pointer */
-#define rw_rtn  rw_in[7]               /* return address */
-
-typedef struct gwindows
-  {
-    int            wbcnt;
-    int           *spbuf[SPARC_MAXREGWINDOW];
-    struct rwindow wbuf[SPARC_MAXREGWINDOW];
-  } gwindows_t;
-
-/*
- * Floating point definitions.
- */
-
-#define MAXFPQ 16      /* max # of fpu queue entries currently supported */
-
-/*
- * struct fq defines the minimal format of a floating point instruction queue
- * entry. The size of entries in the floating point queue are implementation
- * dependent. The union FQu is guarenteed to be the first field in any ABI
- * conformant system implementation. Any additional fields provided by an
- * implementation should not be used applications designed to be ABI conformant. */
-
-struct fpq
-  {
-    unsigned long *fpq_addr;           /* address */
-    unsigned long fpq_instr;           /* instruction */
-  };
-
-struct fq
-  {
-    union                              /* FPU inst/addr queue */
-      {
-        double whole;
-        struct fpq fpq;
-      } FQu;
-  };
-
-#define FPU_REGS_TYPE           unsigned
-#define FPU_DREGS_TYPE          unsigned long long
-#define V7_FPU_FSR_TYPE         unsigned
-#define V9_FPU_FSR_TYPE         unsigned long long
-#define V9_FPU_FPRS_TYPE        unsigned
-
-typedef struct fpu
-  {
-    union {                            /* FPU floating point regs */
-      unsigned long long fpu_regs[32]; /* 32 singles */
-      double             fpu_dregs[16];        /* 16 doubles */
-    } fpu_fr;
-    struct fq       *fpu_q;            /* ptr to array of FQ entries */
-    unsigned        fpu_fsr;           /* FPU status register */
-    unsigned char   fpu_qcnt;          /* # of entries in saved FQ */
-    unsigned char   fpu_q_entrysize;   /* # of bytes per FQ entry */
-    unsigned char   fpu_en;            /* flag signifying fpu in use */
-  } fpregset_t;
-
-/*
- * The following structure is for associating extra register state with
- * the ucontext structure and is kept within the uc_mcontext filler area.
- *
- * If (xrs_id == XRS_ID) then the xrs_ptr field is a valid pointer to
- * extra register state. The exact format of the extra register state
- * pointed to by xrs_ptr is platform-dependent.
- *
- * Note: a platform may or may not manage extra register state.
- */
-typedef struct
-  {
-    unsigned int xrs_id;               /* indicates xrs_ptr validity */
-    void *       xrs_ptr;              /* ptr to extra reg state */
-  } xrs_t;
-
-#define XRS_ID 0x78727300              /* the string "xrs" */
-
-typedef struct
-  {
-    gregset_t   gregs;         /* general register set */
-    gwindows_t  *gwins;                /* POSSIBLE pointer to register windows */
-    fpregset_t  fpregs;                /* floating point register set */
-    xrs_t       xrs;           /* POSSIBLE extra register state association */
-    long        filler[19];
-  } mcontext_t;
-
-
-/* Userlevel context.  */
-typedef struct ucontext
-  {
-    unsigned long   uc_flags;
-    struct ucontext *uc_link;
-    unsigned long   uc_sigmask[4];     /* a svr4 sigset_t */
-    stack_t         uc_stack;
-    mcontext_t      uc_mcontext;
-    long            uc_filler[23];
-  } ucontext_t;
-
-#endif /* sys/ucontext.h */