diff options
Diffstat (limited to 'sysdeps')
52 files changed, 241 insertions, 238 deletions
diff --git a/sysdeps/aarch64/bits/endian.h b/sysdeps/aarch64/bits/endian.h deleted file mode 100644 index 03801d312a..0000000000 --- a/sysdeps/aarch64/bits/endian.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1997-2019 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 - <https://www.gnu.org/licenses/>. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -/* AArch64 can be either big or little endian. */ -#ifdef __AARCH64EB__ -# define __BYTE_ORDER __BIG_ENDIAN -#else -# define __BYTE_ORDER __LITTLE_ENDIAN -#endif - -#define __FLOAT_WORD_ORDER __BYTE_ORDER diff --git a/sysdeps/aarch64/bits/endianness.h b/sysdeps/aarch64/bits/endianness.h new file mode 100644 index 0000000000..300ebc8f9c --- /dev/null +++ b/sysdeps/aarch64/bits/endianness.h @@ -0,0 +1,15 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* AArch64 has selectable endianness. */ +#ifdef __AARCH64EB__ +# define __BYTE_ORDER __BIG_ENDIAN +#else +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ diff --git a/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h b/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h index 4cf3a68927..758b127a1a 100644 --- a/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h +++ b/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h @@ -19,7 +19,7 @@ #ifndef _BITS_PTHREADTYPES_ARCH_H #define _BITS_PTHREADTYPES_ARCH_H 1 -#include <endian.h> +#include <bits/endian.h> #ifdef __ILP32__ # define __SIZEOF_PTHREAD_ATTR_T 32 diff --git a/sysdeps/alpha/bits/endian.h b/sysdeps/alpha/bits/endian.h deleted file mode 100644 index 8a16e14e24..0000000000 --- a/sysdeps/alpha/bits/endian.h +++ /dev/null @@ -1,7 +0,0 @@ -/* Alpha is little-endian. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#define __BYTE_ORDER __LITTLE_ENDIAN diff --git a/sysdeps/alpha/bits/endianness.h b/sysdeps/alpha/bits/endianness.h new file mode 100644 index 0000000000..69f9a147f6 --- /dev/null +++ b/sysdeps/alpha/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* Alpha is little-endian. */ +#define __BYTE_ORDER __LITTLE_ENDIAN + +#endif /* bits/endianness.h */ diff --git a/sysdeps/arm/bits/endian.h b/sysdeps/arm/bits/endian.h deleted file mode 100644 index f49f6ab1c9..0000000000 --- a/sysdeps/arm/bits/endian.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -/* ARM can be either big or little endian. */ -#ifdef __ARMEB__ -#define __BYTE_ORDER __BIG_ENDIAN -#else -#define __BYTE_ORDER __LITTLE_ENDIAN -#endif diff --git a/sysdeps/arm/bits/endianness.h b/sysdeps/arm/bits/endianness.h new file mode 100644 index 0000000000..2d671fff66 --- /dev/null +++ b/sysdeps/arm/bits/endianness.h @@ -0,0 +1,15 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* ARM has selectable endianness. */ +#ifdef __ARMEB__ +#define __BYTE_ORDER __BIG_ENDIAN +#else +#define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ diff --git a/sysdeps/arm/nptl/bits/pthreadtypes-arch.h b/sysdeps/arm/nptl/bits/pthreadtypes-arch.h index 70419c99f6..78b37eb5b8 100644 --- a/sysdeps/arm/nptl/bits/pthreadtypes-arch.h +++ b/sysdeps/arm/nptl/bits/pthreadtypes-arch.h @@ -18,7 +18,7 @@ #ifndef _BITS_PTHREADTYPES_ARCH_H #define _BITS_PTHREADTYPES_ARCH_H 1 -#include <endian.h> +#include <bits/endian.h> #define __SIZEOF_PTHREAD_ATTR_T 36 #define __SIZEOF_PTHREAD_MUTEX_T 24 diff --git a/sysdeps/csky/bits/endian.h b/sysdeps/csky/bits/endian.h deleted file mode 100644 index 51df38d8f9..0000000000 --- a/sysdeps/csky/bits/endian.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#ifdef __CSKYBE__ -# error "Big endian not supported for C-SKY." -#else -# define __BYTE_ORDER __LITTLE_ENDIAN -#endif diff --git a/sysdeps/csky/bits/endianness.h b/sysdeps/csky/bits/endianness.h new file mode 100644 index 0000000000..ad20cf64e0 --- /dev/null +++ b/sysdeps/csky/bits/endianness.h @@ -0,0 +1,14 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +#ifdef __CSKYBE__ +# error "Big endian not supported for C-SKY." +#else +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ diff --git a/sysdeps/csky/nptl/bits/pthreadtypes-arch.h b/sysdeps/csky/nptl/bits/pthreadtypes-arch.h index 5260c58d37..58be51dcfd 100644 --- a/sysdeps/csky/nptl/bits/pthreadtypes-arch.h +++ b/sysdeps/csky/nptl/bits/pthreadtypes-arch.h @@ -19,7 +19,7 @@ #ifndef _BITS_PTHREADTYPES_ARCH_H #define _BITS_PTHREADTYPES_ARCH_H 1 -#include <endian.h> +#include <bits/endian.h> #define __SIZEOF_PTHREAD_ATTR_T 36 #define __SIZEOF_PTHREAD_MUTEX_T 24 diff --git a/sysdeps/hppa/bits/endian.h b/sysdeps/hppa/bits/endian.h deleted file mode 100644 index 585db0c0fa..0000000000 --- a/sysdeps/hppa/bits/endian.h +++ /dev/null @@ -1,7 +0,0 @@ -/* hppa1.1 big-endian. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#define __BYTE_ORDER __BIG_ENDIAN diff --git a/sysdeps/hppa/bits/endianness.h b/sysdeps/hppa/bits/endianness.h new file mode 100644 index 0000000000..96fd5ae5ef --- /dev/null +++ b/sysdeps/hppa/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* HP-PA is big-endian. */ +#define __BYTE_ORDER __BIG_ENDIAN + +#endif /* bits/endianness.h */ diff --git a/sysdeps/ia64/bits/endianness.h b/sysdeps/ia64/bits/endianness.h new file mode 100644 index 0000000000..70c211e569 --- /dev/null +++ b/sysdeps/ia64/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* IA64 is little-endian. */ +#define __BYTE_ORDER __LITTLE_ENDIAN + +#endif /* bits/endianness.h */ diff --git a/sysdeps/ia64/ieee754.h b/sysdeps/ia64/ieee754.h index 21c4149ba2..610631a71d 100644 --- a/sysdeps/ia64/ieee754.h +++ b/sysdeps/ia64/ieee754.h @@ -16,11 +16,11 @@ <https://www.gnu.org/licenses/>. */ #ifndef _IEEE754_H - #define _IEEE754_H 1 + #include <features.h> -#include <endian.h> +#include <bits/endian.h> __BEGIN_DECLS diff --git a/sysdeps/ieee754/ieee754.h b/sysdeps/ieee754/ieee754.h index 581fe5c9de..7605d0d321 100644 --- a/sysdeps/ieee754/ieee754.h +++ b/sysdeps/ieee754/ieee754.h @@ -16,11 +16,11 @@ <https://www.gnu.org/licenses/>. */ #ifndef _IEEE754_H - #define _IEEE754_H 1 + #include <features.h> -#include <endian.h> +#include <bits/endian.h> __BEGIN_DECLS diff --git a/sysdeps/ieee754/ldbl-128/ieee754.h b/sysdeps/ieee754/ldbl-128/ieee754.h index 87dc1d781d..47f11d8a6b 100644 --- a/sysdeps/ieee754/ldbl-128/ieee754.h +++ b/sysdeps/ieee754/ldbl-128/ieee754.h @@ -16,11 +16,11 @@ <https://www.gnu.org/licenses/>. */ #ifndef _IEEE754_H - #define _IEEE754_H 1 + #include <features.h> -#include <endian.h> +#include <bits/endian.h> __BEGIN_DECLS diff --git a/sysdeps/ieee754/ldbl-128ibm/ieee754.h b/sysdeps/ieee754/ldbl-128ibm/ieee754.h index 35f22895e6..606b4c7d8a 100644 --- a/sysdeps/ieee754/ldbl-128ibm/ieee754.h +++ b/sysdeps/ieee754/ldbl-128ibm/ieee754.h @@ -16,11 +16,11 @@ <https://www.gnu.org/licenses/>. */ #ifndef _IEEE754_H - #define _IEEE754_H 1 + #include <features.h> -#include <endian.h> +#include <bits/endian.h> __BEGIN_DECLS diff --git a/sysdeps/m68k/bits/endian.h b/sysdeps/m68k/bits/endian.h deleted file mode 100644 index bf4ecb60a4..0000000000 --- a/sysdeps/m68k/bits/endian.h +++ /dev/null @@ -1,7 +0,0 @@ -/* m68k is big-endian. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#define __BYTE_ORDER __BIG_ENDIAN diff --git a/sysdeps/m68k/bits/endianness.h b/sysdeps/m68k/bits/endianness.h new file mode 100644 index 0000000000..7e5f0d2969 --- /dev/null +++ b/sysdeps/m68k/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* m68k is big-endian. */ +#define __BYTE_ORDER __BIG_ENDIAN + +#endif /* bits/endianness.h */ diff --git a/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h b/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h index 8199076399..792cb32289 100644 --- a/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h +++ b/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h @@ -19,7 +19,7 @@ #ifndef _BITS_PTHREADTYPES_ARCH_H #define _BITS_PTHREADTYPES_ARCH_H 1 -#include <endian.h> +#include <bits/endian.h> #define __SIZEOF_PTHREAD_ATTR_T 36 #define __SIZEOF_PTHREAD_MUTEX_T 24 diff --git a/sysdeps/microblaze/bits/endian.h b/sysdeps/microblaze/bits/endian.h deleted file mode 100644 index 6e961a5547..0000000000 --- a/sysdeps/microblaze/bits/endian.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1997-2019 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 - <https://www.gnu.org/licenses/>. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -/* MicroBlaze can be either big or little endian. */ -#ifdef _BIG_ENDIAN -# define __BYTE_ORDER __BIG_ENDIAN -# define __FLOAT_WORD_ORDER __BIG_ENDIAN -#else -# define __BYTE_ORDER __LITTLE_ENDIAN -# define __FLOAT_WORD_ORDER __LITTLE_ENDIAN -#endif diff --git a/sysdeps/microblaze/bits/endianness.h b/sysdeps/microblaze/bits/endianness.h new file mode 100644 index 0000000000..c4bb7e5f2e --- /dev/null +++ b/sysdeps/microblaze/bits/endianness.h @@ -0,0 +1,15 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* MicroBlaze has selectable endianness. */ +#ifdef _BIG_ENDIAN +# define __BYTE_ORDER __BIG_ENDIAN +#else +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ diff --git a/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h b/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h index b1ae4aacdb..7cf1ff6a72 100644 --- a/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h +++ b/sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h @@ -19,7 +19,7 @@ #ifndef _BITS_PTHREADTYPES_ARCH_H # define _BITS_PTHREADTYPES_ARCH_H 1 -# include <endian.h> +# include <bits/endian.h> # define __SIZEOF_PTHREAD_ATTR_T 36 # define __SIZEOF_PTHREAD_MUTEX_T 24 diff --git a/sysdeps/mips/bits/endian.h b/sysdeps/mips/bits/endian.h deleted file mode 100644 index 126059799d..0000000000 --- a/sysdeps/mips/bits/endian.h +++ /dev/null @@ -1,15 +0,0 @@ -/* The MIPS architecture has selectable endianness. - It exists in both little and big endian flavours and we - want to be able to share the installed header files between - both, so we define __BYTE_ORDER based on GCC's predefines. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#ifdef __MIPSEB -# define __BYTE_ORDER __BIG_ENDIAN -#endif -#ifdef __MIPSEL -# define __BYTE_ORDER __LITTLE_ENDIAN -#endif diff --git a/sysdeps/mips/bits/endianness.h b/sysdeps/mips/bits/endianness.h new file mode 100644 index 0000000000..09e138b89b --- /dev/null +++ b/sysdeps/mips/bits/endianness.h @@ -0,0 +1,16 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* MIPS has selectable endianness. */ +#ifdef __MIPSEB +# define __BYTE_ORDER __BIG_ENDIAN +#endif +#ifdef __MIPSEL +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ diff --git a/sysdeps/mips/ieee754/ieee754.h b/sysdeps/mips/ieee754/ieee754.h index ebaf8d84c3..250fa5e8c0 100644 --- a/sysdeps/mips/ieee754/ieee754.h +++ b/sysdeps/mips/ieee754/ieee754.h @@ -16,13 +16,16 @@ <https://www.gnu.org/licenses/>. */ #ifndef _IEEE754_H - #define _IEEE754_H 1 + #include <features.h> -#include <endian.h> +#include <bits/endian.h> -#include <float.h> +#ifndef __LDBL_MANT_DIG__ +# include <float.h> +# define __LDBL_MANT_DIG__ __LDBL_MANT_DIG__ +#endif __BEGIN_DECLS @@ -127,7 +130,7 @@ union ieee754_double #define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ -#if LDBL_MANT_DIG == 113 +#if __LDBL_MANT_DIG__ == 113 union ieee854_long_double { @@ -184,7 +187,7 @@ union ieee854_long_double #define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ -#elif LDBL_MANT_DIG == 64 +#elif __LDBL_MANT_DIG__ == 64 union ieee854_long_double { @@ -253,7 +256,7 @@ union ieee854_long_double #define IEEE854_LONG_DOUBLE_BIAS 0x3fff -#elif LDBL_MANT_DIG == 53 +#elif __LDBL_MANT_DIG__ == 53 union ieee854_long_double { @@ -316,7 +319,7 @@ union ieee854_long_double #define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */ -#endif /* LDBL_MANT_DIG == 53 */ +#endif /* __LDBL_MANT_DIG__ == 53 */ __END_DECLS diff --git a/sysdeps/mips/nptl/bits/pthreadtypes-arch.h b/sysdeps/mips/nptl/bits/pthreadtypes-arch.h index b32e888ea5..0bb703511c 100644 --- a/sysdeps/mips/nptl/bits/pthreadtypes-arch.h +++ b/sysdeps/mips/nptl/bits/pthreadtypes-arch.h @@ -19,7 +19,7 @@ #ifndef _BITS_PTHREADTYPES_ARCH_H #define _BITS_PTHREADTYPES_ARCH_H 1 -#include <endian.h> +#include <bits/endian.h> #if _MIPS_SIM == _ABI64 # define __SIZEOF_PTHREAD_ATTR_T 56 diff --git a/sysdeps/nios2/bits/endian.h b/sysdeps/nios2/bits/endian.h deleted file mode 100644 index 164f9e4d78..0000000000 --- a/sysdeps/nios2/bits/endian.h +++ /dev/null @@ -1,12 +0,0 @@ -/* The Nios II architecture has selectable endianness. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#ifdef __nios2_big_endian__ -# define __BYTE_ORDER __BIG_ENDIAN -#endif -#ifdef __nios2_little_endian__ -# define __BYTE_ORDER __LITTLE_ENDIAN -#endif diff --git a/sysdeps/nios2/bits/endianness.h b/sysdeps/nios2/bits/endianness.h new file mode 100644 index 0000000000..87e66ebd71 --- /dev/null +++ b/sysdeps/nios2/bits/endianness.h @@ -0,0 +1,16 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* Nios II has selectable endianness. */ +#ifdef __nios2_big_endian__ +# define __BYTE_ORDER __BIG_ENDIAN +#endif +#ifdef __nios2_little_endian__ +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ diff --git a/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h b/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h index 8cd8bbedaf..dcd3499a86 100644 --- a/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h +++ b/sysdeps/nios2/nptl/bits/pthreadtypes-arch.h @@ -19,7 +19,7 @@ #ifndef _BITS_PTHREADTYPES_ARCH_H #define _BITS_PTHREADTYPES_ARCH_H 1 -#include <endian.h> +#include <bits/endian.h> #define __SIZEOF_PTHREAD_ATTR_T 36 #define __SIZEOF_PTHREAD_MUTEX_T 24 diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h index ceb724d3a2..467b446aca 100644 --- a/sysdeps/nptl/pthread.h +++ b/sysdeps/nptl/pthread.h @@ -19,10 +19,10 @@ #define _PTHREAD_H 1 #include <features.h> -#include <endian.h> #include <sched.h> #include <time.h> +#include <bits/endian.h> #include <bits/pthreadtypes.h> #include <bits/setjmp.h> #include <bits/wordsize.h> diff --git a/sysdeps/powerpc/bits/endian.h b/sysdeps/powerpc/bits/endian.h deleted file mode 100644 index c82f7ad4de..0000000000 --- a/sysdeps/powerpc/bits/endian.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1997-2019 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 - <https://www.gnu.org/licenses/>. */ - -/* PowerPC can be little or big endian. Hopefully gcc will know... */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN -# if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN -# error Both BIG_ENDIAN and LITTLE_ENDIAN defined! -# endif -# define __BYTE_ORDER __BIG_ENDIAN -#else -# if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN -# define __BYTE_ORDER __LITTLE_ENDIAN -# else -# warning Cannot determine current byte order, assuming big-endian. -# define __BYTE_ORDER __BIG_ENDIAN -# endif -#endif diff --git a/sysdeps/powerpc/bits/endianness.h b/sysdeps/powerpc/bits/endianness.h new file mode 100644 index 0000000000..3e7735237e --- /dev/null +++ b/sysdeps/powerpc/bits/endianness.h @@ -0,0 +1,16 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* PowerPC has selectable endianness. */ +#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN +# define __BYTE_ORDER __BIG_ENDIAN +#endif +#if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ diff --git a/sysdeps/riscv/bits/endian.h b/sysdeps/riscv/bits/endian.h deleted file mode 100644 index 4aaf559d4f..0000000000 --- a/sysdeps/riscv/bits/endian.h +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#define __BYTE_ORDER __LITTLE_ENDIAN diff --git a/sysdeps/riscv/bits/endianness.h b/sysdeps/riscv/bits/endianness.h new file mode 100644 index 0000000000..952d08595a --- /dev/null +++ b/sysdeps/riscv/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* RISC-V is little-endian. */ +#define __BYTE_ORDER __LITTLE_ENDIAN + +#endif /* bits/endianness.h */ diff --git a/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h b/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h index 583443954e..33f0ee43fe 100644 --- a/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h +++ b/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h @@ -19,7 +19,7 @@ #ifndef _BITS_PTHREADTYPES_ARCH_H #define _BITS_PTHREADTYPES_ARCH_H 1 -#include <endian.h> +#include <bits/endian.h> #if __riscv_xlen == 64 # define __SIZEOF_PTHREAD_ATTR_T 56 diff --git a/sysdeps/s390/bits/endian.h b/sysdeps/s390/bits/endian.h deleted file mode 100644 index ac27f0119a..0000000000 --- a/sysdeps/s390/bits/endian.h +++ /dev/null @@ -1,7 +0,0 @@ -/* s390 is big-endian */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#define __BYTE_ORDER __BIG_ENDIAN diff --git a/sysdeps/s390/bits/endianness.h b/sysdeps/s390/bits/endianness.h new file mode 100644 index 0000000000..c2d34e1c3e --- /dev/null +++ b/sysdeps/s390/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* S/390 is big-endian. */ +#define __BYTE_ORDER __BIG_ENDIAN + +#endif /* bits/endianness.h */ 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/endianness.h b/sysdeps/sh/bits/endianness.h new file mode 100644 index 0000000000..45c7c83a63 --- /dev/null +++ b/sysdeps/sh/bits/endianness.h @@ -0,0 +1,15 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* SH has selectable endianness. */ +#ifdef __LITTLE_ENDIAN__ +#define __BYTE_ORDER __LITTLE_ENDIAN +#else +#define __BYTE_ORDER __BIG_ENDIAN +#endif + +#endif /* bits/endianness.h */ diff --git a/sysdeps/sh/nptl/bits/pthreadtypes-arch.h b/sysdeps/sh/nptl/bits/pthreadtypes-arch.h index 6c9485d989..219a861398 100644 --- a/sysdeps/sh/nptl/bits/pthreadtypes-arch.h +++ b/sysdeps/sh/nptl/bits/pthreadtypes-arch.h @@ -18,7 +18,7 @@ #ifndef _BITS_PTHREADTYPES_ARCH_H #define _BITS_PTHREADTYPES_ARCH_H 1 -#include <endian.h> +#include <bits/endian.h> #define __SIZEOF_PTHREAD_ATTR_T 36 #define __SIZEOF_PTHREAD_MUTEX_T 24 diff --git a/sysdeps/sparc/bits/endian.h b/sysdeps/sparc/bits/endianness.h index 8acfdf5df6..0b6f5bf8b2 100644 --- a/sysdeps/sparc/bits/endian.h +++ b/sysdeps/sparc/bits/endianness.h @@ -1,12 +1,16 @@ -/* Sparc is big-endian, but v9 supports endian conversion on loads/stores - and GCC supports such a mode. Be prepared. */ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." #endif +/* Sparc is big-endian, but v9 supports endian conversion on loads/stores + and GCC supports such a mode. Be prepared. */ #ifdef __LITTLE_ENDIAN__ # define __BYTE_ORDER __LITTLE_ENDIAN #else # define __BYTE_ORDER __BIG_ENDIAN #endif + +#endif /* bits/endianness.h */ diff --git a/sysdeps/sparc/sparc32/ieee754.h b/sysdeps/sparc/sparc32/ieee754.h index 87dc1d781d..47f11d8a6b 100644 --- a/sysdeps/sparc/sparc32/ieee754.h +++ b/sysdeps/sparc/sparc32/ieee754.h @@ -16,11 +16,11 @@ <https://www.gnu.org/licenses/>. */ #ifndef _IEEE754_H - #define _IEEE754_H 1 + #include <features.h> -#include <endian.h> +#include <bits/endian.h> __BEGIN_DECLS diff --git a/sysdeps/unix/sysv/linux/generic/bits/stat.h b/sysdeps/unix/sysv/linux/generic/bits/stat.h index 62aeea5a88..1565f3f824 100644 --- a/sysdeps/unix/sysv/linux/generic/bits/stat.h +++ b/sysdeps/unix/sysv/linux/generic/bits/stat.h @@ -23,7 +23,7 @@ #ifndef _BITS_STAT_H #define _BITS_STAT_H 1 -#include <endian.h> +#include <bits/endian.h> #include <bits/wordsize.h> /* 64-bit libc uses the kernel's 'struct stat', accessed via the diff --git a/sysdeps/unix/sysv/linux/generic/bits/statfs.h b/sysdeps/unix/sysv/linux/generic/bits/statfs.h index 3472084ade..c4069aba62 100644 --- a/sysdeps/unix/sysv/linux/generic/bits/statfs.h +++ b/sysdeps/unix/sysv/linux/generic/bits/statfs.h @@ -20,7 +20,7 @@ # error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead." #endif -#include <endian.h> +#include <bits/endian.h> #include <bits/types.h> #include <bits/wordsize.h> diff --git a/sysdeps/unix/sysv/linux/hppa/pthread.h b/sysdeps/unix/sysv/linux/hppa/pthread.h index e168901ba0..424135c800 100644 --- a/sysdeps/unix/sysv/linux/hppa/pthread.h +++ b/sysdeps/unix/sysv/linux/hppa/pthread.h @@ -19,7 +19,6 @@ #define _PTHREAD_H 1 #include <features.h> -#include <endian.h> #include <sched.h> #include <time.h> diff --git a/sysdeps/unix/sysv/linux/ia64/bits/endian.h b/sysdeps/unix/sysv/linux/ia64/bits/endian.h deleted file mode 100644 index 98a5e23991..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/bits/endian.h +++ /dev/null @@ -1,7 +0,0 @@ -/* Linux/ia64 is little-endian. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#define __BYTE_ORDER __LITTLE_ENDIAN diff --git a/sysdeps/unix/sysv/linux/powerpc/htm.h b/sysdeps/unix/sysv/linux/powerpc/htm.h index 75e3eb0397..f17d751013 100644 --- a/sysdeps/unix/sysv/linux/powerpc/htm.h +++ b/sysdeps/unix/sysv/linux/powerpc/htm.h @@ -50,7 +50,7 @@ #else -#include <endian.h> +#include <bits/endian.h> /* Official HTM intrinsics interface matching GCC, but works on older GCC compatible compilers and binutils. diff --git a/sysdeps/unix/sysv/linux/sys/acct.h b/sysdeps/unix/sysv/linux/sys/acct.h index 5db43fd675..1d2f22402a 100644 --- a/sysdeps/unix/sysv/linux/sys/acct.h +++ b/sysdeps/unix/sysv/linux/sys/acct.h @@ -20,7 +20,7 @@ #include <sys/types.h> #include <stdint.h> -#include <endian.h> +#include <bits/endian.h> #include <bits/types/time_t.h> __BEGIN_DECLS diff --git a/sysdeps/x86/bits/endian.h b/sysdeps/x86/bits/endian.h deleted file mode 100644 index 5a56c726f7..0000000000 --- a/sysdeps/x86/bits/endian.h +++ /dev/null @@ -1,7 +0,0 @@ -/* i386/x86_64 are little-endian. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#define __BYTE_ORDER __LITTLE_ENDIAN diff --git a/sysdeps/x86/bits/endianness.h b/sysdeps/x86/bits/endianness.h new file mode 100644 index 0000000000..962a9ae4d6 --- /dev/null +++ b/sysdeps/x86/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use <bits/endianness.h> directly; include <endian.h> instead." +#endif + +/* i386/x86_64 are little-endian. */ +#define __BYTE_ORDER __LITTLE_ENDIAN + +#endif /* bits/endianness.h */ |