about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-05-25 11:58:59 +0000
committerUlrich Drepper <drepper@redhat.com>1999-05-25 11:58:59 +0000
commitd265c8337f3117f1e6755f4eec2aa6f2015bd3a4 (patch)
tree6ab2f94b09505feb8e77319b63847da8749f90c7 /sysdeps
parent6d8ec2b1b2934abc8d951ccb534872f0086fda48 (diff)
downloadglibc-d265c8337f3117f1e6755f4eec2aa6f2015bd3a4.tar.gz
glibc-d265c8337f3117f1e6755f4eec2aa6f2015bd3a4.tar.xz
glibc-d265c8337f3117f1e6755f4eec2aa6f2015bd3a4.zip
Update.
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>
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/sparc/bits/wordsize.h7
-rw-r--r--sysdeps/sparc/fpu/bits/fenv.h (renamed from sysdeps/sparc/sparc64/fpu/bits/fenv.h)0
-rw-r--r--sysdeps/sparc/fpu/fpu_control.h (renamed from sysdeps/sparc/sparc32/fpu/fpu_control.h)16
-rw-r--r--sysdeps/sparc/gmp-mparam.h27
-rw-r--r--sysdeps/sparc/sparc32/fpu/bits/fenv.h76
-rw-r--r--sysdeps/sparc/sparc64/bits/wordsize.h23
-rw-r--r--sysdeps/sparc/sparc64/fpu/fpu_control.h76
-rw-r--r--sysdeps/sparc/sparc64/gmp-mparam.h27
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/setjmp.h (renamed from sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h)2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/statfs.h (renamed from sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h)20
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/types.h (renamed from sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h)20
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/sys/ucontext.h172
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (renamed from sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h)0
13 files changed, 54 insertions, 412 deletions
diff --git a/sysdeps/sparc/bits/wordsize.h b/sysdeps/sparc/bits/wordsize.h
new file mode 100644
index 0000000000..2ad12e1e7f
--- /dev/null
+++ b/sysdeps/sparc/bits/wordsize.h
@@ -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
diff --git a/sysdeps/sparc/sparc64/fpu/bits/fenv.h b/sysdeps/sparc/fpu/bits/fenv.h
index d30fe22c46..d30fe22c46 100644
--- a/sysdeps/sparc/sparc64/fpu/bits/fenv.h
+++ b/sysdeps/sparc/fpu/bits/fenv.h
diff --git a/sysdeps/sparc/sparc32/fpu/fpu_control.h b/sysdeps/sparc/fpu/fpu_control.h
index 7cbdf6db9b..4b03df833b 100644
--- a/sysdeps/sparc/sparc32/fpu/fpu_control.h
+++ b/sysdeps/sparc/fpu/fpu_control.h
@@ -23,6 +23,7 @@
 
 
 #include <features.h>
+#include <bits/wordsize.h>
 
 /* masking of interrupts */
 #define _FPU_MASK_IM  0x08000000
@@ -51,15 +52,20 @@
 /* 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
index 0000000000..873dfcb81e
--- /dev/null
+++ b/sysdeps/sparc/gmp-mparam.h
@@ -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
index 6858caac97..0000000000
--- a/sysdeps/sparc/sparc32/fpu/bits/fenv.h
+++ /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
index f86b7f7fbf..0000000000
--- a/sysdeps/sparc/sparc64/bits/wordsize.h
+++ /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
index a89f00eed5..0000000000
--- a/sysdeps/sparc/sparc64/fpu/fpu_control.h
+++ /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
index a3c66974de..0000000000
--- a/sysdeps/sparc/sparc64/gmp-mparam.h
+++ /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
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h b/sysdeps/unix/sysv/linux/sparc/bits/setjmp.h
index b15fc5e90b..6f61e358af 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/setjmp.h
@@ -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
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h b/sysdeps/unix/sysv/linux/sparc/bits/statfs.h
index 6f094bc391..2037634007 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/statfs.h
@@ -24,13 +24,8 @@
 
 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
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h b/sysdeps/unix/sysv/linux/sparc/bits/types.h
index 9ecba2ddcf..9423015538 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/types.h
@@ -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
index d672a94d41..0000000000
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/sys/ucontext.h
+++ /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 */
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h b/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h
index 03ec8ae791..03ec8ae791 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h