about summary refs log tree commit diff
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@rr.iij4u.or.jp>2014-01-23 14:22:58 +0900
committerKaz Kojima <kkojima@rr.iij4u.or.jp>2014-01-23 14:22:58 +0900
commit7007c661ad737b3c8fd7855791cd52bcac6d7a0b (patch)
treeb4ade3f72c475258c8c82b10b07e13808abd1820
parent0f0c35e46e9a12459a5ca64be46b6e73aa8d19d7 (diff)
downloadglibc-7007c661ad737b3c8fd7855791cd52bcac6d7a0b.tar.gz
glibc-7007c661ad737b3c8fd7855791cd52bcac6d7a0b.tar.xz
glibc-7007c661ad737b3c8fd7855791cd52bcac6d7a0b.zip
Adjust SH specific fpu_control.h and ucontext.h files.
-rw-r--r--ChangeLog12
-rw-r--r--sysdeps/sh/fpu_control.h (renamed from sysdeps/sh/sh4/fpu/fpu_control.h)14
-rw-r--r--sysdeps/unix/sysv/linux/sh/sh3/sys/ucontext.h101
-rw-r--r--sysdeps/unix/sysv/linux/sh/sys/ucontext.h (renamed from sysdeps/unix/sysv/linux/sh/sh4/sys/ucontext.h)19
4 files changed, 43 insertions, 103 deletions
diff --git a/ChangeLog b/ChangeLog
index 2730a81940..78e6946e22 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2014-01-23  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/sh/fpu_control.h: New file.
+	* sysdeps/sh/sh4/fpu/fpu_control.h: Remove.
+	* sysdeps/unix/sysv/linux/sh/sys/ucontext.h: New file.
+	* sysdeps/unix/sysv/linux/sh/sh3/sys/ucontext.h: Remove.
+	* sysdeps/unix/sysv/linux/sh/sh3/sys: Remove directory.
+	* sysdeps/unix/sysv/linux/sh/sh4/sys/ucontext.h: Remove.
+	* sysdeps/unix/sysv/linux/sh/sh4/sys: Remove directory.
+	* sysdeps/sh/sys/ucontext.h: Remove.
+	* sysdeps/sh/sys: Remove directory.
+
 2014-01-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
 	* sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Merge into
diff --git a/sysdeps/sh/sh4/fpu/fpu_control.h b/sysdeps/sh/fpu_control.h
index ab1e97b17b..5d2604bafb 100644
--- a/sysdeps/sh/sh4/fpu/fpu_control.h
+++ b/sysdeps/sh/fpu_control.h
@@ -19,6 +19,17 @@
 #ifndef _FPU_CONTROL_H
 #define _FPU_CONTROL_H
 
+#if !defined(__SH_FPU_ANY__)
+
+#define _FPU_RESERVED 0xffffffff
+#define _FPU_DEFAULT  0x00000000
+typedef unsigned int fpu_control_t;
+#define _FPU_GETCW(cw) (cw) = 0
+#define _FPU_SETCW(cw) (void) (cw)
+extern fpu_control_t __fpu_control;
+
+#else
+
 #include <features.h>
 
 /* masking of interrupts */
@@ -59,4 +70,7 @@ extern void __set_fpscr (unsigned long);
 extern fpu_control_t __fpu_control;
 
 __END_DECLS
+
+#endif /* __SH_FPU_ANY__ */
+
 #endif /* _FPU_CONTROL_H */
diff --git a/sysdeps/unix/sysv/linux/sh/sh3/sys/ucontext.h b/sysdeps/unix/sysv/linux/sh/sh3/sys/ucontext.h
deleted file mode 100644
index fe06b074ee..0000000000
--- a/sysdeps/unix/sysv/linux/sh/sh3/sys/ucontext.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* Copyright (C) 1999-2014 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/>.  */
-
-/* Where is System V/SH ABI?  */
-
-#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>
-
-
-typedef int greg_t;
-
-/* Number of general registers.  */
-#define NFPREG	16
-
-/* Container for all general registers.  */
-typedef greg_t gregset_t[NFPREG];
-
-#ifdef __USE_GNU
-/* Number of each register is the `gregset_t' array.  */
-enum
-{
-  R0 = 0,
-#define R0	R0
-  R1 = 1,
-#define R1	R1
-  R2 = 2,
-#define R2	R2
-  R3 = 3,
-#define R3	R3
-  R4 = 4,
-#define R4	R4
-  R5 = 5,
-#define R5	R5
-  R6 = 6,
-#define R6	R6
-  R7 = 7,
-#define R7	R7
-  R8 = 8,
-#define R8	R8
-  R9 = 9,
-#define R9	R9
-  R10 = 10,
-#define R10	R10
-  R11 = 11,
-#define R11	R11
-  R12 = 12,
-#define R12	R12
-  R13 = 13,
-#define R13	R13
-  R14 = 14,
-#define R14	R14
-  R15 = 15,
-#define R15	R15
-};
-#endif
-
-/* Context to describe whole processor state.  */
-typedef struct
-  {
-    unsigned int oldmask;
-    gregset_t gregs;
-    unsigned int pc;
-    unsigned int pr;
-    unsigned int sr;
-    unsigned int gbr;
-    unsigned int mach;
-    unsigned int macl;
-  } 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;
-  } ucontext_t;
-
-#endif /* sys/ucontext.h */
diff --git a/sysdeps/unix/sysv/linux/sh/sh4/sys/ucontext.h b/sysdeps/unix/sysv/linux/sh/sys/ucontext.h
index 799b2775ef..269d29ae77 100644
--- a/sysdeps/unix/sysv/linux/sh/sh4/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/sh/sys/ucontext.h
@@ -31,10 +31,10 @@
 typedef int greg_t;
 
 /* Number of general registers.  */
-#define NFPREG	16
+#define NGPREG	16
 
 /* Container for all general registers.  */
-typedef greg_t gregset_t[NFPREG];
+typedef greg_t gregset_t[NGPREG];
 
 #ifdef __USE_GNU
 /* Number of each register is the `gregset_t' array.  */
@@ -75,6 +75,7 @@ enum
 };
 #endif
 
+#ifdef __SH_FPU_ANY__
 typedef int freg_t;
 
 /* Number of FPU registers.  */
@@ -100,6 +101,20 @@ typedef struct
     unsigned int fpul;
     unsigned int ownedfp;
   } mcontext_t;
+#else
+/* Context to describe whole processor state.  */
+typedef struct
+  {
+    unsigned int oldmask;
+    gregset_t gregs;
+    unsigned int pc;
+    unsigned int pr;
+    unsigned int sr;
+    unsigned int gbr;
+    unsigned int mach;
+    unsigned int macl;
+  } mcontext_t;
+#endif /* __SH_FPU_ANY__ */
 
 /* Userlevel context.  */
 typedef struct ucontext