diff options
Diffstat (limited to 'sysdeps/sh/bits')
-rw-r--r-- | sysdeps/sh/bits/endian.h | 13 | ||||
-rw-r--r-- | sysdeps/sh/bits/fenv.h | 84 | ||||
-rw-r--r-- | sysdeps/sh/bits/huge_val.h | 54 | ||||
-rw-r--r-- | sysdeps/sh/bits/link.h | 69 | ||||
-rw-r--r-- | sysdeps/sh/bits/setjmp.h | 46 |
5 files changed, 0 insertions, 266 deletions
diff --git a/sysdeps/sh/bits/endian.h b/sysdeps/sh/bits/endian.h deleted file mode 100644 index 1fef1ff938..0000000000 --- a/sysdeps/sh/bits/endian.h +++ /dev/null @@ -1,13 +0,0 @@ -/* SH is bi-endian but with a big-endian FPU. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#ifdef __LITTLE_ENDIAN__ -#define __BYTE_ORDER __LITTLE_ENDIAN -#define __FLOAT_WORD_ORDER __LITTLE_ENDIAN -#else -#define __BYTE_ORDER __BIG_ENDIAN -#define __FLOAT_WORD_ORDER __BIG_ENDIAN -#endif diff --git a/sysdeps/sh/bits/fenv.h b/sysdeps/sh/bits/fenv.h deleted file mode 100644 index a121efb101..0000000000 --- a/sysdeps/sh/bits/fenv.h +++ /dev/null @@ -1,84 +0,0 @@ -/* Copyright (C) 1999-2017 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/>. */ - -#ifndef _FENV_H -# error "Never use <bits/fenv.h> directly; include <fenv.h> instead." -#endif - - -/* Define bits representing the exception. We use the bit positions - of the appropriate bits in the FPU control word. */ -enum - { - FE_INEXACT = -#define FE_INEXACT 0x04 - FE_INEXACT, - FE_UNDERFLOW = -#define FE_UNDERFLOW 0x08 - FE_UNDERFLOW, - FE_OVERFLOW = -#define FE_OVERFLOW 0x10 - FE_OVERFLOW, - FE_DIVBYZERO = -#define FE_DIVBYZERO 0x20 - FE_DIVBYZERO, - FE_INVALID = -#define FE_INVALID 0x40 - FE_INVALID, - }; - -#define FE_ALL_EXCEPT \ - (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) - -/* The SH FPU supports two of the four defined rounding modes: round to nearest - and round to zero. We use again the bit positions in the FPU control word - as the values for the appropriate macros. */ -enum - { - __FE_UNDEFINED = -1, - - FE_TONEAREST = -#define FE_TONEAREST 0x0 - FE_TONEAREST, - FE_TOWARDZERO = -#define FE_TOWARDZERO 0x1 - FE_TOWARDZERO, - }; - - -/* Type representing exception flags. */ -typedef unsigned short int fexcept_t; - - -/* Type representing floating-point environment. This function corresponds - to the layout of the block written by the `fstenv'. */ -typedef struct - { - unsigned int __fpscr; - } -fenv_t; - -/* If the default argument is used we use this value. */ -#define FE_DFL_ENV ((const fenv_t *) -1) - -#if __GLIBC_USE (IEC_60559_BFP_EXT) -/* Type representing floating-point control modes. */ -typedef unsigned int femode_t; - -/* Default floating-point control modes. */ -# define FE_DFL_MODE ((const femode_t *) -1L) -#endif diff --git a/sysdeps/sh/bits/huge_val.h b/sysdeps/sh/bits/huge_val.h deleted file mode 100644 index aab7a23b17..0000000000 --- a/sysdeps/sh/bits/huge_val.h +++ /dev/null @@ -1,54 +0,0 @@ -/* `HUGE_VAL' constants for IEEE 754 machines (where it is infinity). - Used by <stdlib.h> and <math.h> functions for overflow. - SH version. - Copyright (C) 1992-2017 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/>. */ - -#ifndef _MATH_H -# error "Never use <bits/huge_val.h> directly; include <math.h> instead." -#endif - -/* IEEE positive infinity (-HUGE_VAL is negative infinity). */ - -#if __GNUC_PREREQ(3,3) -# define HUGE_VAL (__builtin_huge_val()) -#elif __GNUC_PREREQ(2,96) -# define HUGE_VAL (__extension__ 0x1.0p2047) -#elif defined __GNUC__ - -# define HUGE_VAL \ - (__extension__ \ - ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \ - { __l: 0x000000007ff00000ULL }).__d) - -#else /* not GCC */ - -# include <endian.h> - -typedef union { unsigned char __c[8]; double __d; } __huge_val_t; - -# if __BYTE_ORDER == __BIG_ENDIAN -# define __HUGE_VAL_bytes { 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 } -# endif -# if __BYTE_ORDER == __LITTLE_ENDIAN -# define __HUGE_VAL_bytes { 0, 0, 0xf0, 0x7f, 0, 0, 0, 0 } -# endif - -static __huge_val_t __huge_val = { __HUGE_VAL_bytes }; -# define HUGE_VAL (__huge_val.__d) - -#endif /* GCC. */ diff --git a/sysdeps/sh/bits/link.h b/sysdeps/sh/bits/link.h deleted file mode 100644 index 0427ebc961..0000000000 --- a/sysdeps/sh/bits/link.h +++ /dev/null @@ -1,69 +0,0 @@ -/* Copyright (C) 2005-2017 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/>. */ - -#ifndef _LINK_H -# error "Never include <bits/link.h> directly; use <link.h> instead." -#endif - - -/* Registers for entry into PLT on SH. */ -typedef struct La_sh_regs -{ - uint32_t lr_r2; - uint32_t lr_r3; - uint32_t lr_r4; - uint32_t lr_r5; - uint32_t lr_r6; - uint32_t lr_r7; - uint32_t lr_fpscr; - float lr_fr4; - float lr_fr5; - float lr_fr6; - float lr_fr7; - float lr_fr8; - float lr_fr9; - float lr_fr10; - float lr_fr11; -} La_sh_regs; - -/* Return values for calls from PLT on SH. */ -typedef struct La_sh_retval -{ - uint32_t lrv_r0; - uint32_t lrv_r1; - float lrv_fr0; - float lrv_fr1; -} La_sh_retval; - - -__BEGIN_DECLS - -extern Elf32_Addr la_sh_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - La_sh_regs *__regs, - unsigned int *__flags, - const char *__symname, - long int *__framesizep); -extern unsigned int la_sh_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - const La_sh_regs *__inregs, - La_sh_retval *__outregs, - const char *__symname); - -__END_DECLS diff --git a/sysdeps/sh/bits/setjmp.h b/sysdeps/sh/bits/setjmp.h deleted file mode 100644 index 11617d7c8a..0000000000 --- a/sysdeps/sh/bits/setjmp.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 1999-2017 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/>. */ - -/* Define the machine-dependent type `jmp_buf'. SH version. */ -#ifndef _BITS_SETJMP_H -#define _BITS_SETJMP_H 1 - -#if !defined _SETJMP_H && !defined _PTHREAD_H -# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." -#endif - -#ifndef _ASM -typedef struct __jmp_buf_internal_tag - { - /* Callee-saved registers r8 through r15. */ - int __regs[8]; - - /* Program counter. */ - void * __pc; - - /* The global pointer. */ - void * __gbr; - - /* Floating point status register. */ - int __fpscr; - - /* Callee-saved floating point registers fr12 through fr15. */ - int __fpregs[4]; - } __jmp_buf[1]; -#endif - -#endif /* bits/setjmp.h */ |