diff options
author | Kaz Kojima <kkojima@rr.iij4u.or.jp> | 2014-01-23 14:22:58 +0900 |
---|---|---|
committer | Kaz Kojima <kkojima@rr.iij4u.or.jp> | 2014-01-23 14:22:58 +0900 |
commit | 7007c661ad737b3c8fd7855791cd52bcac6d7a0b (patch) | |
tree | b4ade3f72c475258c8c82b10b07e13808abd1820 /sysdeps | |
parent | 0f0c35e46e9a12459a5ca64be46b6e73aa8d19d7 (diff) | |
download | glibc-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.h | 101 | ||||
-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 |