about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog39
-rw-r--r--bits/long-double.h39
-rw-r--r--bits/mathdef.h10
-rw-r--r--math/Makefile3
-rw-r--r--math/math.h4
-rw-r--r--misc/sys/cdefs.h1
-rw-r--r--stdlib/strtold.c2
-rw-r--r--sysdeps/alpha/bits/mathdef.h4
-rw-r--r--sysdeps/ieee754/ldbl-128/bits/long-double.h (renamed from sysdeps/ia64/bits/mathdef.h)10
-rw-r--r--sysdeps/ieee754/ldbl-96/bits/long-double.h (renamed from sysdeps/aarch64/bits/mathdef.h)11
-rw-r--r--sysdeps/ieee754/ldbl-opt/bits/long-double.h (renamed from sysdeps/s390/bits/mathdef.h)12
-rw-r--r--sysdeps/m68k/m680x0/bits/mathdef.h20
-rw-r--r--sysdeps/mips/bits/long-double.h (renamed from sysdeps/sparc/bits/mathdef.h)13
-rw-r--r--sysdeps/mips/bits/mathdef.h28
-rw-r--r--sysdeps/s390/s390-32/bits/wordsize.h11
-rw-r--r--sysdeps/s390/s390-64/bits/wordsize.h11
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/wordsize.h11
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h11
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/long-double.h (renamed from sysdeps/powerpc/bits/mathdef.h)14
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/wordsize.h13
-rw-r--r--sysdeps/x86/bits/mathdef.h20
21 files changed, 121 insertions, 166 deletions
diff --git a/ChangeLog b/ChangeLog
index 32ce9af459..ba42b5bd28 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,44 @@
 2016-12-14  Joseph Myers  <joseph@codesourcery.com>
 
+	* bits/long-double.h: New file.
+	* sysdeps/ieee754/ldbl-128/bits/long-double.h: Likewise.
+	* sysdeps/ieee754/ldbl-96/bits/long-double.h: Likewise.
+	* sysdeps/ieee754/ldbl-opt/bits/long-double.h: Likewise.
+	* sysdeps/mips/bits/long-double.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/long-double.h: Likewise.
+	* math/Makefile (headers): Add bits/long-double.h.
+	* misc/sys/cdefs.h: Include <bits/long-double.h>.
+	* stdlib/strtold.c: Include <bits/long-double.h> instead of
+	<bits/wordsize.h>.
+	* bits/mathdef.h [!_COMPLEX_H]: Do not allow inclusion.
+	[!__NO_LONG_DOUBLE_MATH]: Remove conditional code.
+	* math/math.h: Do not include <bits/mathdef.h>.
+	* sysdeps/aarch64/bits/mathdef.h: Remove file.
+	* sysdeps/alpha/bits/mathdef.h [!_COMPLEX_H]: Do not allow
+	inclusion.
+	* sysdeps/ia64/bits/mathdef.h: Remove file.
+	* sysdeps/m68k/m680x0/bits/mathdef.h: Likewise.
+	* sysdeps/mips/bits/mathdef.h: Likewise.
+	* sysdeps/powerpc/bits/mathdef.h: Likewise.
+	* sysdeps/s390/bits/mathdef.h: Likewise.
+	* sysdeps/sparc/bits/mathdef.h: Likewise.
+	* sysdeps/x86/bits/mathdef.h: Likewise.
+	* sysdeps/s390/s390-32/bits/wordsize.h
+	[!__NO_LONG_DOUBLE_MATH && !__LONG_DOUBLE_MATH_OPTIONAL]: Remove
+	conditional code.
+	* sysdeps/s390/s390-64/bits/wordsize.h
+	[!__NO_LONG_DOUBLE_MATH && !__LONG_DOUBLE_MATH_OPTIONAL]:
+	Likewise.
+	* sysdeps/unix/sysv/linux/alpha/bits/wordsize.h
+	[!__NO_LONG_DOUBLE_MATH && !__LONG_DOUBLE_MATH_OPTIONAL]:
+	Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h
+	[!__NO_LONG_DOUBLE_MATH && !__LONG_DOUBLE_MATH_OPTIONAL]:
+	Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/wordsize.h
+	[!__NO_LONG_DOUBLE_MATH && !__LONG_DOUBLE_MATH_OPTIONAL]:
+	Likewise.
+
 	* sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU]: Include
 	<linux/falloc.h>.
 	(FALLOC_FL_KEEP_SIZE): Remove.
diff --git a/bits/long-double.h b/bits/long-double.h
new file mode 100644
index 0000000000..16578571b8
--- /dev/null
+++ b/bits/long-double.h
@@ -0,0 +1,39 @@
+/* Properties of long double type.
+   Copyright (C) 2016 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  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/>.  */
+
+/* This header is included by <sys/cdefs.h>.
+
+   If long double is ABI-compatible with double, it should define
+   __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave
+   __NO_LONG_DOUBLE_MATH undefined.
+
+   If this build of the GNU C Library supports both long double
+   ABI-compatible with double and some other long double format not
+   ABI-compatible with double, it should define
+   __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave
+   __LONG_DOUBLE_MATH_OPTIONAL undefined.
+
+   If __NO_LONG_DOUBLE_MATH is already defined, this header must not
+   define anything; this is needed to work with the definition of
+   __NO_LONG_DOUBLE_MATH in nldbl-compat.h.  */
+
+/* In the default version of this header, long double is
+   ABI-compatible with double.  */
+#ifndef __NO_LONG_DOUBLE_MATH
+# define __NO_LONG_DOUBLE_MATH	1
+#endif
diff --git a/bits/mathdef.h b/bits/mathdef.h
index 014829790a..5e80e920b4 100644
--- a/bits/mathdef.h
+++ b/bits/mathdef.h
@@ -15,12 +15,6 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif
-
-#ifndef __NO_LONG_DOUBLE_MATH
-/* Signal that we do not really have a `long double'.  The disables the
-   declaration of all the `long double' function variants.  */
-# define __NO_LONG_DOUBLE_MATH	1
+#ifndef _COMPLEX_H
+# error "Never use <bits/mathdef.h> directly; include <complex.h> instead"
 #endif
diff --git a/math/Makefile b/math/Makefile
index 1e96100120..84d061f124 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -28,7 +28,8 @@ headers		:= math.h bits/mathcalls.h bits/mathinline.h bits/huge_val.h \
 		   bits/fenv.h bits/fenvinline.h bits/mathdef.h tgmath.h \
 		   bits/math-finite.h bits/math-vector.h \
 		   bits/libm-simd-decl-stubs.h bits/iscanonical.h \
-		   bits/flt-eval-method.h bits/fp-fast.h bits/fp-logb.h
+		   bits/flt-eval-method.h bits/fp-fast.h bits/fp-logb.h \
+		   bits/long-double.h
 
 # FPU support code.
 aux		:= setfpucw fpu_control
diff --git a/math/math.h b/math/math.h
index b8f4b415c7..1dca14684d 100644
--- a/math/math.h
+++ b/math/math.h
@@ -138,10 +138,6 @@ typedef _Float128x double_t;
 # endif
 #endif
 
-/* Get information about long double.  */
-
-#include <bits/mathdef.h>
-
 /* Get the architecture specific values describing the floating-point
    evaluation.  The following symbols will get defined:
 
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index 9298dd60f9..e07f3fcbcb 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -439,6 +439,7 @@
 #endif
 
 #include <bits/wordsize.h>
+#include <bits/long-double.h>
 
 #if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
 # define __LDBL_COMPAT 1
diff --git a/stdlib/strtold.c b/stdlib/strtold.c
index bb46f23c29..251663ffcd 100644
--- a/stdlib/strtold.c
+++ b/stdlib/strtold.c
@@ -20,7 +20,7 @@
 /* The actual implementation for all floating point sizes is in strtod.c.
    These macros tell it to produce the `float' version, `strtof'.  */
 
-#include <bits/wordsize.h>
+#include <bits/long-double.h>
 
 #ifdef __LONG_DOUBLE_MATH_OPTIONAL
 # include <wchar.h>
diff --git a/sysdeps/alpha/bits/mathdef.h b/sysdeps/alpha/bits/mathdef.h
index 021563f211..e56f3e5212 100644
--- a/sysdeps/alpha/bits/mathdef.h
+++ b/sysdeps/alpha/bits/mathdef.h
@@ -15,8 +15,8 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
+#ifndef _COMPLEX_H
+# error "Never use <bits/mathdef.h> directly; include <complex.h> instead"
 #endif
 
 #if defined _COMPLEX_H && !defined _COMPLEX_H_MATHDEF
diff --git a/sysdeps/ia64/bits/mathdef.h b/sysdeps/ieee754/ldbl-128/bits/long-double.h
index e689835716..3f10da8486 100644
--- a/sysdeps/ia64/bits/mathdef.h
+++ b/sysdeps/ieee754/ldbl-128/bits/long-double.h
@@ -1,9 +1,10 @@
-/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
+/* Properties of long double type.  ldbl-128 version.
+   Copyright (C) 2016 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
+   License  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,
@@ -15,6 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif
+/* long double is distinct from double, so there is nothing to
+   define here.  */
diff --git a/sysdeps/aarch64/bits/mathdef.h b/sysdeps/ieee754/ldbl-96/bits/long-double.h
index 2213635bd8..180a7cf343 100644
--- a/sysdeps/aarch64/bits/mathdef.h
+++ b/sysdeps/ieee754/ldbl-96/bits/long-double.h
@@ -1,10 +1,10 @@
-/* Copyright (C) 1999-2016 Free Software Foundation, Inc.
-
+/* Properties of long double type.  ldbl-96 version.
+   Copyright (C) 2016 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
+   License  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,
@@ -16,6 +16,5 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif
+/* long double is distinct from double, so there is nothing to
+   define here.  */
diff --git a/sysdeps/s390/bits/mathdef.h b/sysdeps/ieee754/ldbl-opt/bits/long-double.h
index eeea6fcdc2..dce98c38c6 100644
--- a/sysdeps/s390/bits/mathdef.h
+++ b/sysdeps/ieee754/ldbl-opt/bits/long-double.h
@@ -1,9 +1,10 @@
-/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
+/* Properties of long double type.  ldbl-opt version.
+   Copyright (C) 2016 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
+   License  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,
@@ -15,6 +16,9 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
+#ifndef __NO_LONG_DOUBLE_MATH
+# define __LONG_DOUBLE_MATH_OPTIONAL	1
+# ifndef __LONG_DOUBLE_128__
+#  define __NO_LONG_DOUBLE_MATH		1
+# endif
 #endif
diff --git a/sysdeps/m68k/m680x0/bits/mathdef.h b/sysdeps/m68k/m680x0/bits/mathdef.h
deleted file mode 100644
index 7926c6aaf7..0000000000
--- a/sysdeps/m68k/m680x0/bits/mathdef.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (C) 1997-2016 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/>.  */
-
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif
diff --git a/sysdeps/sparc/bits/mathdef.h b/sysdeps/mips/bits/long-double.h
index 65ab45aad3..b51fce8e6e 100644
--- a/sysdeps/sparc/bits/mathdef.h
+++ b/sysdeps/mips/bits/long-double.h
@@ -1,9 +1,10 @@
-/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
+/* Properties of long double type.  MIPS version.
+   Copyright (C) 2016 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
+   License  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,
@@ -15,8 +16,8 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif
+#include <sgidefs.h>
 
-#include <bits/wordsize.h>
+#if !defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
+# define __NO_LONG_DOUBLE_MATH	1
+#endif
diff --git a/sysdeps/mips/bits/mathdef.h b/sysdeps/mips/bits/mathdef.h
deleted file mode 100644
index 31fc4001df..0000000000
--- a/sysdeps/mips/bits/mathdef.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 1997-2016 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/>.  */
-
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif
-
-#include <sgidefs.h>
-
-#if ! defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
-/* Signal that we do not really have a `long double'.  This disables the
-   declaration of all the `long double' function variants.  */
-# define __NO_LONG_DOUBLE_MATH	1
-#endif
diff --git a/sysdeps/s390/s390-32/bits/wordsize.h b/sysdeps/s390/s390-32/bits/wordsize.h
index c7a5fbf655..129e47182b 100644
--- a/sysdeps/s390/s390-32/bits/wordsize.h
+++ b/sysdeps/s390/s390-32/bits/wordsize.h
@@ -9,14 +9,3 @@
 #endif
 
 #define __WORDSIZE_TIME64_COMPAT32     0
-
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
-
-/* Signal that we didn't used to have a `long double'. The changes all
-   the `long double' function variants to be redirects to the double
-   functions.  */
-# define __LONG_DOUBLE_MATH_OPTIONAL   1
-# ifndef __LONG_DOUBLE_128__
-#  define __NO_LONG_DOUBLE_MATH        1
-# endif
-#endif
diff --git a/sysdeps/s390/s390-64/bits/wordsize.h b/sysdeps/s390/s390-64/bits/wordsize.h
index 31e0ec6699..00e88b0628 100644
--- a/sysdeps/s390/s390-64/bits/wordsize.h
+++ b/sysdeps/s390/s390-64/bits/wordsize.h
@@ -9,14 +9,3 @@
 #endif
 
 #define __WORDSIZE_TIME64_COMPAT32     0
-
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
-
-/* Signal that we didn't used to have a `long double'. The changes all
-   the `long double' function variants to be redirects to the double
-   functions.  */
-# define __LONG_DOUBLE_MATH_OPTIONAL   1
-# ifndef __LONG_DOUBLE_128__
-#  define __NO_LONG_DOUBLE_MATH        1
-# endif
-#endif
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h b/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h
index f0961f69cc..2ef70a98dd 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h
@@ -17,14 +17,3 @@
 
 #define __WORDSIZE	64
 #define __WORDSIZE_TIME64_COMPAT32	0
-
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
-
-/* Signal that we didn't used to have a `long double'. The changes all
-   the `long double' function variants to be redirects to the double
-   functions.  */
-# define __LONG_DOUBLE_MATH_OPTIONAL	1
-# ifndef __LONG_DOUBLE_128__
-#  define __NO_LONG_DOUBLE_MATH		1
-# endif
-#endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h b/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h
index 109f08ccdc..04ca9debf0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h
@@ -9,14 +9,3 @@
 # define __WORDSIZE32_SIZE_ULONG	0
 # define __WORDSIZE32_PTRDIFF_LONG	0
 #endif
-
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
-
-/* Signal the glibc ABI didn't used to have a `long double'.
-   The changes all the `long double' function variants to be redirects
-   to the double functions.  */
-# define __LONG_DOUBLE_MATH_OPTIONAL   1
-# ifndef __LONG_DOUBLE_128__
-#  define __NO_LONG_DOUBLE_MATH        1
-# endif
-#endif
diff --git a/sysdeps/powerpc/bits/mathdef.h b/sysdeps/unix/sysv/linux/sparc/bits/long-double.h
index eeea6fcdc2..20039ce4ce 100644
--- a/sysdeps/powerpc/bits/mathdef.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/long-double.h
@@ -1,9 +1,10 @@
-/* Copyright (C) 1997-2016 Free Software Foundation, Inc.
+/* Properties of long double type.  SPARC version.
+   Copyright (C) 2016 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
+   License  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,
@@ -15,6 +16,11 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
+#include <bits/wordsize.h>
+
+#if !defined __NO_LONG_DOUBLE_MATH && __WORDSIZE == 32
+# define __LONG_DOUBLE_MATH_OPTIONAL   1
+# ifndef __LONG_DOUBLE_128__
+#  define __NO_LONG_DOUBLE_MATH        1
+# endif
 #endif
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h b/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h
index 121b4fe8c9..7562875ee2 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h
@@ -9,16 +9,3 @@
 # define __WORDSIZE32_PTRDIFF_LONG	0
 # define __WORDSIZE_TIME64_COMPAT32	0
 #endif
-
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
-
-# if __WORDSIZE == 32
-/* Signal that in 32bit ABI we didn't used to have a `long double'.
-   The changes all the `long double' function variants to be redirects
-   to the double functions.  */
-#  define __LONG_DOUBLE_MATH_OPTIONAL   1
-#  ifndef __LONG_DOUBLE_128__
-#   define __NO_LONG_DOUBLE_MATH        1
-#  endif
-# endif
-#endif
diff --git a/sysdeps/x86/bits/mathdef.h b/sysdeps/x86/bits/mathdef.h
deleted file mode 100644
index 1c6aee6ba5..0000000000
--- a/sysdeps/x86/bits/mathdef.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (C) 2001-2016 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/>.  */
-
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif