aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
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 /sysdeps
parent0f0c35e46e9a12459a5ca64be46b6e73aa8d19d7 (diff)
downloadglibc-7007c661ad737b3c8fd7855791cd52bcac6d7a0b.zip
glibc-7007c661ad737b3c8fd7855791cd52bcac6d7a0b.tar.gz
glibc-7007c661ad737b3c8fd7855791cd52bcac6d7a0b.tar.bz2
Adjust SH specific fpu_control.h and ucontext.h files.
Diffstat (limited to 'sysdeps')
-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
3 files changed, 31 insertions, 103 deletions
diff --git a/sysdeps/sh/sh4/fpu/fpu_control.h b/sysdeps/sh/fpu_control.h
index ab1e97b..5d2604b 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 fe06b07..0000000
--- 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 799b277..269d29a 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