summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@rr.iij4u.or.jp>2014-01-24 12:56:12 +0900
committerKaz Kojima <kkojima@rr.iij4u.or.jp>2014-01-24 12:56:12 +0900
commit0bad441c77fa4ff382dd3990542dcf52052b2121 (patch)
tree40254cb91c5d07dd69edc4ae0c2c0fca0a834da3 /sysdeps
parente68485398bebe6199f92f9ac70d0f29501269be8 (diff)
Restore ucontext ABI for soft-float sh4.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/sh/sys/ucontext.h98
-rw-r--r--sysdeps/unix/sysv/linux/sh/sys/ucontext.h2
2 files changed, 1 insertions, 99 deletions
diff --git a/sysdeps/sh/sys/ucontext.h b/sysdeps/sh/sys/ucontext.h
deleted file mode 100644
index 2e072c0b60..0000000000
--- a/sysdeps/sh/sys/ucontext.h
+++ /dev/null
@@ -1,98 +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>
-
-typedef int greg_t;
-
-/* Number of general registers. */
-#define NFPREG 16
-
-/* Container for all general registers. */
-typedef greg_t gregset_t[NFPREG];
-
-/* 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
-};
-
-typedef int freg_t;
-
-/* Number of FPU registers. */
-#define NFREG 16
-
-/* Structure to describe FPU registers. */
-typedef freg_t fpregset_t[NFREG];
-
-/* Context to describe whole processor state. */
-typedef struct
- {
- gregset_t gregs;
- fpregset_t fpregs;
- fpregset_t xfpregs;
- } mcontext_t;
-
-/* Userlevel context. */
-typedef struct ucontext
- {
- unsigned long int uc_flags;
- struct ucontext *uc_link;
- __sigset_t uc_sigmask;
- stack_t uc_stack;
- mcontext_t uc_mcontext;
- long int uc_filler[5];
- } ucontext_t;
-
-#endif /* sys/ucontext.h */
diff --git a/sysdeps/unix/sysv/linux/sh/sys/ucontext.h b/sysdeps/unix/sysv/linux/sh/sys/ucontext.h
index 269d29ae77..2fb4d5d523 100644
--- a/sysdeps/unix/sysv/linux/sh/sys/ucontext.h
+++ b/sysdeps/unix/sysv/linux/sh/sys/ucontext.h
@@ -75,7 +75,7 @@ enum
};
#endif
-#ifdef __SH_FPU_ANY__
+#if (defined(__SH4__) || defined(__SH4A__))
typedef int freg_t;
/* Number of FPU registers. */