about summary refs log tree commit diff
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
parente68485398bebe6199f92f9ac70d0f29501269be8 (diff)
downloadglibc-0bad441c77fa4ff382dd3990542dcf52052b2121.tar.gz
glibc-0bad441c77fa4ff382dd3990542dcf52052b2121.tar.xz
glibc-0bad441c77fa4ff382dd3990542dcf52052b2121.zip
Restore ucontext ABI for soft-float sh4.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/sh/sys/ucontext.h98
-rw-r--r--sysdeps/unix/sysv/linux/sh/sys/ucontext.h2
3 files changed, 6 insertions, 99 deletions
diff --git a/ChangeLog b/ChangeLog
index 78e6946e22..0f4453ec7f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-01-24  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Use __SH4__ and
+	__SH4A__ instead of __SH_FPU_ANY__.
+
 2014-01-23  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
 
 	* sysdeps/sh/fpu_control.h: New file.
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.  */