aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/aarch64/bits/endian.h30
-rw-r--r--sysdeps/aarch64/bits/endianness.h15
-rw-r--r--sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h2
-rw-r--r--sysdeps/alpha/bits/endian.h7
-rw-r--r--sysdeps/alpha/bits/endianness.h11
-rw-r--r--sysdeps/arm/bits/endian.h10
-rw-r--r--sysdeps/arm/bits/endianness.h15
-rw-r--r--sysdeps/arm/nptl/bits/pthreadtypes-arch.h2
-rw-r--r--sysdeps/csky/bits/endian.h9
-rw-r--r--sysdeps/csky/bits/endianness.h14
-rw-r--r--sysdeps/csky/nptl/bits/pthreadtypes-arch.h2
-rw-r--r--sysdeps/hppa/bits/endian.h7
-rw-r--r--sysdeps/hppa/bits/endianness.h11
-rw-r--r--sysdeps/ia64/bits/endianness.h11
-rw-r--r--sysdeps/ia64/ieee754.h4
-rw-r--r--sysdeps/ieee754/ieee754.h4
-rw-r--r--sysdeps/ieee754/ldbl-128/ieee754.h4
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/ieee754.h4
-rw-r--r--sysdeps/m68k/bits/endian.h7
-rw-r--r--sysdeps/m68k/bits/endianness.h11
-rw-r--r--sysdeps/m68k/nptl/bits/pthreadtypes-arch.h2
-rw-r--r--sysdeps/microblaze/bits/endian.h30
-rw-r--r--sysdeps/microblaze/bits/endianness.h15
-rw-r--r--sysdeps/microblaze/nptl/bits/pthreadtypes-arch.h2
-rw-r--r--sysdeps/mips/bits/endian.h15
-rw-r--r--sysdeps/mips/bits/endianness.h16
-rw-r--r--sysdeps/mips/ieee754/ieee754.h17
-rw-r--r--sysdeps/mips/nptl/bits/pthreadtypes-arch.h2
-rw-r--r--sysdeps/nios2/bits/endian.h12
-rw-r--r--sysdeps/nios2/bits/endianness.h16
-rw-r--r--sysdeps/nios2/nptl/bits/pthreadtypes-arch.h2
-rw-r--r--sysdeps/nptl/pthread.h2
-rw-r--r--sysdeps/powerpc/bits/endian.h36
-rw-r--r--sysdeps/powerpc/bits/endianness.h16
-rw-r--r--sysdeps/riscv/bits/endian.h5
-rw-r--r--sysdeps/riscv/bits/endianness.h11
-rw-r--r--sysdeps/riscv/nptl/bits/pthreadtypes-arch.h2
-rw-r--r--sysdeps/s390/bits/endian.h7
-rw-r--r--sysdeps/s390/bits/endianness.h11
-rw-r--r--sysdeps/sh/bits/endian.h13
-rw-r--r--sysdeps/sh/bits/endianness.h15
-rw-r--r--sysdeps/sh/nptl/bits/pthreadtypes-arch.h2
-rw-r--r--sysdeps/sparc/bits/endianness.h (renamed from sysdeps/sparc/bits/endian.h)12
-rw-r--r--sysdeps/sparc/sparc32/ieee754.h4
-rw-r--r--sysdeps/unix/sysv/linux/generic/bits/stat.h2
-rw-r--r--sysdeps/unix/sysv/linux/generic/bits/statfs.h2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/pthread.h1
-rw-r--r--sysdeps/unix/sysv/linux/ia64/bits/endian.h7
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/htm.h2
-rw-r--r--sysdeps/unix/sysv/linux/sys/acct.h2
-rw-r--r--sysdeps/x86/bits/endian.h7
-rw-r--r--sysdeps/x86/bits/endianness.h11
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 03801d3..0000000
--- 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 0000000..300ebc8
--- /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 4cf3a68..758b127 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 8a16e14..0000000
--- 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 0000000..69f9a14
--- /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 f49f6ab..0000000
--- 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 0000000..2d671ff
--- /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 70419c9..78b37eb 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 51df38d..0000000
--- 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 0000000..ad20cf6
--- /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 5260c58..58be51d 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 585db0c..0000000
--- 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 0000000..96fd5ae
--- /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 0000000..70c211e
--- /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 21c4149..610631a 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 581fe5c..7605d0d 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 87dc1d7..47f11d8 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 35f2289..606b4c7 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 bf4ecb6..0000000
--- 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 0000000..7e5f0d2
--- /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 8199076..792cb32 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 6e961a5..0000000
--- 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 0000000..c4bb7e5
--- /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 b1ae4aa..7cf1ff6 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 1260597..0000000
--- 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 0000000..09e138b
--- /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 ebaf8d8..250fa5e 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 b32e888..0bb7035 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 164f9e4..0000000
--- 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 0000000..87e66eb
--- /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 8cd8bbe..dcd3499 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 ceb724d3..467b446 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 c82f7ad..0000000
--- 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 0000000..3e77352
--- /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 4aaf559..0000000
--- 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 0000000..952d085
--- /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 5834439..33f0ee4 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 ac27f01..0000000
--- 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 0000000..c2d34e1
--- /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 1fef1ff..0000000
--- 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 0000000..45c7c83
--- /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 6c9485d..219a861 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 8acfdf5..0b6f5bf 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 87dc1d7..47f11d8 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 62aeea5..1565f3f 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 3472084..c4069ab 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 e168901..424135c 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 98a5e23..0000000
--- 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 75e3eb0..f17d751 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 5db43fd..1d2f224 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 5a56c72..0000000
--- 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 0000000..962a9ae
--- /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 */