From 0bad441c77fa4ff382dd3990542dcf52052b2121 Mon Sep 17 00:00:00 2001 From: Kaz Kojima Date: Fri, 24 Jan 2014 12:56:12 +0900 Subject: [PATCH] Restore ucontext ABI for soft-float sh4. --- ChangeLog | 5 ++ sysdeps/sh/sys/ucontext.h | 98 ------------------------------- sysdeps/unix/sysv/linux/sh/sys/ucontext.h | 2 +- 3 files changed, 6 insertions(+), 99 deletions(-) delete mode 100644 sysdeps/sh/sys/ucontext.h diff --git a/ChangeLog b/ChangeLog index 78e6946..0f4453e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2014-01-24 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Use __SH4__ and + __SH4A__ instead of __SH_FPU_ANY__. + 2014-01-23 Kaz Kojima * 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 2e072c0..0000000 --- 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 - . */ - -/* Where is System V/SH ABI? */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include -#include - -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 269d29a..2fb4d5d 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. */ -- 2.7.4