aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--argp/argp.h2
-rw-r--r--bits/long-double.h15
-rw-r--r--elf/tst-addr1.c2
-rw-r--r--include/math.h6
-rw-r--r--include/monetary.h2
-rw-r--r--include/printf.h2
-rw-r--r--include/stdio.h8
-rw-r--r--include/stdlib.h4
-rw-r--r--include/sys/cdefs.h2
-rw-r--r--include/wchar.h2
-rw-r--r--libio/bits/stdio-ldbl.h4
-rw-r--r--libio/stdio.h8
-rw-r--r--math/complex.h4
-rw-r--r--math/math.h12
-rw-r--r--math/test-ldouble.h2
-rw-r--r--misc/err.h2
-rw-r--r--misc/error.h2
-rw-r--r--misc/sys/cdefs.h4
-rw-r--r--misc/sys/syslog.h2
-rw-r--r--stdio-common/printf.h2
-rw-r--r--stdio-common/tst-vfprintf-user-type.c2
-rw-r--r--stdlib/bits/stdlib-ldbl.h2
-rw-r--r--stdlib/monetary.h2
-rw-r--r--stdlib/stdlib.h2
-rw-r--r--sysdeps/ieee754/ldbl-128/bits/long-double.h2
-rw-r--r--sysdeps/ieee754/ldbl-128ibm-compat/bits/long-double.h7
-rw-r--r--sysdeps/ieee754/ldbl-128ibm-compat/math_ldbl.h2
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h2
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/ieee754.h6
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/include/bits/iscanonical.h2
-rw-r--r--sysdeps/ieee754/ldbl-96/bits/long-double.h2
-rw-r--r--sysdeps/ieee754/ldbl-opt/bits/long-double.h2
-rw-r--r--sysdeps/mips/ieee754/bits/long-double.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/bits/long-double.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h2
-rw-r--r--wcsmbs/bits/wchar-ldbl.h4
-rw-r--r--wcsmbs/wchar.h8
37 files changed, 74 insertions, 64 deletions
diff --git a/argp/argp.h b/argp/argp.h
index 358d9b43cd..a5b861a4d3 100644
--- a/argp/argp.h
+++ b/argp/argp.h
@@ -555,7 +555,7 @@ __NTH (__option_is_end (const struct argp_option *__opt))
#endif /* Use extern inlines. */
#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
+#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# include <bits/argp-ldbl.h>
#endif
diff --git a/bits/long-double.h b/bits/long-double.h
index 6e16447e65..bdde78f49a 100644
--- a/bits/long-double.h
+++ b/bits/long-double.h
@@ -37,4 +37,17 @@
#ifndef __NO_LONG_DOUBLE_MATH
# define __NO_LONG_DOUBLE_MATH 1
#endif
-#define __LONG_DOUBLE_USES_FLOAT128 0
+
+/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the
+ choice of the underlying ABI of long double. It will always assume
+ a constant value for each translation unit.
+
+ If the value is non-zero, any API which is parameterized by the long
+ double type (i.e the scanf/printf family of functions or the explicitly
+ parameterized math.h functions) will be redirected to a compatible
+ implementation using _Float128 ABI via symbols suffixed with ieee128.
+
+ The mechanism this macro uses to acquire may be a function
+ of architecture, or target specific options used to invoke the
+ compiler. */
+#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
diff --git a/elf/tst-addr1.c b/elf/tst-addr1.c
index 27dc0f00f4..93ce669cbd 100644
--- a/elf/tst-addr1.c
+++ b/elf/tst-addr1.c
@@ -15,7 +15,7 @@ do_test (void)
if (i.dli_sname == NULL)
return 1;
-#if __LONG_DOUBLE_USES_FLOAT128 == 1
+#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
/* On architectures which redirect long double to
_Float128 (e.g powerpc64le), printf will resolve
to __printfieee128 due to header redirects. There
diff --git a/include/math.h b/include/math.h
index 1b3199b3f6..3979c47400 100644
--- a/include/math.h
+++ b/include/math.h
@@ -19,7 +19,7 @@ hidden_proto (__isinff)
hidden_proto (__isnanf)
# if !defined __NO_LONG_DOUBLE_MATH \
- && __LONG_DOUBLE_USES_FLOAT128 == 0
+ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
hidden_proto (__finitel)
hidden_proto (__isinfl)
hidden_proto (__isnanl)
@@ -42,7 +42,7 @@ libm_hidden_proto (__expf)
libm_hidden_proto (__roundeven)
# if !defined __NO_LONG_DOUBLE_MATH \
- && __LONG_DOUBLE_USES_FLOAT128 == 0
+ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
libm_hidden_proto (__fpclassifyl)
libm_hidden_proto (__issignalingl)
libm_hidden_proto (__expl)
@@ -143,7 +143,7 @@ fabsf128 (_Float128 x)
MATH_REDIRECT_LDBL (FUNC, PREFIX, ARGS) \
MATH_REDIRECT_F128 (FUNC, PREFIX, ARGS)
# if defined __NO_LONG_DOUBLE_MATH \
- || __LONG_DOUBLE_USES_FLOAT128 == 1
+ || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# define MATH_REDIRECT_LDBL(FUNC, PREFIX, ARGS)
# else
# define MATH_REDIRECT_LDBL(FUNC, PREFIX, ARGS) \
diff --git a/include/monetary.h b/include/monetary.h
index bddc660ce2..5390411d8f 100644
--- a/include/monetary.h
+++ b/include/monetary.h
@@ -1,6 +1,6 @@
/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */
#include <bits/floatn.h>
-#if defined __cplusplus && __LONG_DOUBLE_USES_FLOAT128 == 1
+#if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3)
# pragma GCC system_header
# endif
diff --git a/include/printf.h b/include/printf.h
index bdcfd29f63..0ed6e87387 100644
--- a/include/printf.h
+++ b/include/printf.h
@@ -2,7 +2,7 @@
/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */
#include <bits/floatn.h>
-#if defined __cplusplus && __LONG_DOUBLE_USES_FLOAT128 == 1
+#if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3)
# pragma GCC system_header
# endif
diff --git a/include/stdio.h b/include/stdio.h
index 1c09daf13a..9df98b2833 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -5,7 +5,7 @@
/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */
# include <bits/floatn.h>
-# if defined __cplusplus && __LONG_DOUBLE_USES_FLOAT128 == 1
+# if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3)
# pragma GCC system_header
# endif
@@ -22,10 +22,10 @@
/* Some libc_hidden_ldbl_proto's do not map to a unique symbol when
redirecting ldouble to _Float128 variants. We can therefore safely
directly alias them to their internal name. */
-# if __LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)
+# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)
# define stdio_hidden_ldbl_proto(p, f) \
extern __typeof (p ## f) p ## f __asm (__ASMNAME ("___ieee128_" #f));
-# elif __LONG_DOUBLE_USES_FLOAT128 == 1
+# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# define stdio_hidden_ldbl_proto(p,f) __LDBL_REDIR1_DECL (p ## f, p ## f ## ieee128)
# else
# define stdio_hidden_ldbl_proto(p,f) libc_hidden_proto (p ## f)
@@ -101,7 +101,7 @@ libc_hidden_proto (__isoc99_vfscanf)
# define sscanf __isoc99_sscanf
# endif
-# if __LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc)
+# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc)
/* These are implemented as redirects to other public API.
Therefore, the usual redirection fails to avoid PLT. */
extern __typeof (__isoc99_sscanf) ___ieee128_isoc99_sscanf __THROW;
diff --git a/include/stdlib.h b/include/stdlib.h
index 187a41e754..ffcefd7b85 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -6,7 +6,7 @@
/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */
#include <bits/floatn.h>
-#if defined __cplusplus && __LONG_DOUBLE_USES_FLOAT128 == 1
+#if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3)
# pragma GCC system_header
# endif
@@ -216,7 +216,7 @@ libc_hidden_proto (____strtoull_l_internal)
#include <bits/floatn.h>
libc_hidden_proto (strtof)
libc_hidden_proto (strtod)
-#if __LONG_DOUBLE_USES_FLOAT128 == 0
+#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
libc_hidden_proto (strtold)
#endif
libc_hidden_proto (strtol)
diff --git a/include/sys/cdefs.h b/include/sys/cdefs.h
index 9f44ac5a0a..6a76160ed4 100644
--- a/include/sys/cdefs.h
+++ b/include/sys/cdefs.h
@@ -16,7 +16,7 @@ rtld_hidden_proto (__chk_fail)
/* If we are using redirects internally to support long double,
we need to tweak some macros to ensure the PLT bypass tricks
continue to work in libc. */
-#if __LONG_DOUBLE_USES_FLOAT128 == 1 && IS_IN (libc) && defined SHARED
+#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && IS_IN (libc) && defined SHARED
# undef __LDBL_REDIR_DECL
# define __LDBL_REDIR_DECL(func) \
diff --git a/include/wchar.h b/include/wchar.h
index bb49d844be..4267985625 100644
--- a/include/wchar.h
+++ b/include/wchar.h
@@ -2,7 +2,7 @@
/* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */
# include <bits/floatn.h>
-# if defined __cplusplus && __LONG_DOUBLE_USES_FLOAT128 == 1
+# if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3)
# pragma GCC system_header
# endif
diff --git a/libio/bits/stdio-ldbl.h b/libio/bits/stdio-ldbl.h
index 3bb9f7dd2c..28c44666e3 100644
--- a/libio/bits/stdio-ldbl.h
+++ b/libio/bits/stdio-ldbl.h
@@ -31,7 +31,7 @@ __LDBL_REDIR_DECL (vsprintf)
__LDBL_REDIR1_DECL (fscanf, __nldbl___isoc99_fscanf)
__LDBL_REDIR1_DECL (scanf, __nldbl___isoc99_scanf)
__LDBL_REDIR1_DECL (sscanf, __nldbl___isoc99_sscanf)
-# elif __LONG_DOUBLE_USES_FLOAT128 == 1
+# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
__LDBL_REDIR1_DECL (fscanf, __isoc99_fscanfieee128)
__LDBL_REDIR1_DECL (scanf, __isoc99_scanfieee128)
__LDBL_REDIR1_DECL (sscanf, __isoc99_sscanfieee128)
@@ -55,7 +55,7 @@ __LDBL_REDIR_DECL (vsnprintf)
__LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc99_vfscanf)
__LDBL_REDIR1_DECL (vscanf, __nldbl___isoc99_vscanf)
__LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc99_vsscanf)
-# elif __LONG_DOUBLE_USES_FLOAT128 == 1
+# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
__LDBL_REDIR1_DECL (vfscanf, __isoc99_vfscanfieee128)
__LDBL_REDIR1_DECL (vscanf, __isoc99_vscanfieee128)
__LDBL_REDIR1_DECL (vsscanf, __isoc99_vsscanfieee128)
diff --git a/libio/stdio.h b/libio/stdio.h
index 18e29752c4..21ef36ae70 100644
--- a/libio/stdio.h
+++ b/libio/stdio.h
@@ -401,11 +401,11 @@ extern int sscanf (const char *__restrict __s,
/* For historical reasons, the C99-compliant versions of the scanf
functions are at alternative names. When __LDBL_COMPAT or
- __LONG_DOUBLE_USES_FLOAT128 are in effect, this is handled in
+ __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in
bits/stdio-ldbl.h. */
#include <bits/floatn.h>
#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \
- && __LONG_DOUBLE_USES_FLOAT128 == 0
+ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
# ifdef __REDIRECT
extern int __REDIRECT (fscanf, (FILE *__restrict __stream,
const char *__restrict __format, ...),
@@ -451,7 +451,7 @@ extern int vsscanf (const char *__restrict __s,
/* Same redirection as above for the v*scanf family. */
# if !__GLIBC_USE (DEPRECATED_SCANF)
# if defined __REDIRECT && !defined __LDBL_COMPAT \
- && __LONG_DOUBLE_USES_FLOAT128 == 0
+ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
extern int __REDIRECT (vfscanf,
(FILE *__restrict __s,
const char *__restrict __format, __gnuc_va_list __arg),
@@ -872,7 +872,7 @@ extern int __overflow (FILE *, int);
#endif
#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
+#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# include <bits/stdio-ldbl.h>
#endif
diff --git a/math/complex.h b/math/complex.h
index b6d175e800..7c06add10c 100644
--- a/math/complex.h
+++ b/math/complex.h
@@ -126,7 +126,7 @@ __BEGIN_DECLS
# undef __MATHDECL_1
# define __MATHDECL_1(type, function, args) \
extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, function)
-# elif __LONG_DOUBLE_USES_FLOAT128 == 1
+# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# undef __MATHDECL_1
# undef __MATHDECL
# define __REDIR_TO(function) \
@@ -142,7 +142,7 @@ __BEGIN_DECLS
# define __MATH_PRECNAME(name) name##l
# include <bits/cmathcalls.h>
# if defined __LDBL_COMPAT \
- || __LONG_DOUBLE_USES_FLOAT128 == 1
+ || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# undef __REDIR_TO
# undef __MATHDECL_1
# undef __MATHDECL
diff --git a/math/math.h b/math/math.h
index 777d108347..e48860e391 100644
--- a/math/math.h
+++ b/math/math.h
@@ -343,7 +343,7 @@ extern long double __REDIRECT_NTH (nexttowardl,
# define __MATHDECL_1(type, function,suffix, args) \
__MATHREDIR(type, function, suffix, args, __CONCAT(function,suffix))
-# elif __LONG_DOUBLE_USES_FLOAT128 == 1
+# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# ifdef __REDIRECT_NTH
# ifdef __USE_ISOC99
extern float __REDIRECT_NTH (nexttowardf, (float __x, long double __y),
@@ -390,7 +390,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
# undef __MATH_DECLARING_FLOATN
# if defined __LDBL_COMPAT \
- || __LONG_DOUBLE_USES_FLOAT128 == 1
+ || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# undef __REDIRTO
# undef __REDIRTO_ALT
# undef __MATHDECL_1
@@ -562,7 +562,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
# undef __MATHCALL_NARROW
# define __MATHCALL_NARROW(func, redir, nargs) \
__MATHCALL_NARROW_REDIR (func, redir, nargs)
-# elif __LONG_DOUBLE_USES_FLOAT128 == 1
+# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# define __MATHCALL_REDIR_NAME(name) __ ## f32 ## name ## ieee128
# undef __MATHCALL_NARROW
# define __MATHCALL_NARROW(func, redir, nargs) \
@@ -573,7 +573,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
# undef _Marg_
# undef __MATHCALL_NAME
# if defined __LDBL_COMPAT \
- || __LONG_DOUBLE_USES_FLOAT128 == 1
+ || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# undef __MATHCALL_REDIR_NAME
# undef __MATHCALL_NARROW
# define __MATHCALL_NARROW(func, redir, nargs) \
@@ -588,7 +588,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
# undef __MATHCALL_NARROW
# define __MATHCALL_NARROW(func, redir, nargs) \
__MATHCALL_NARROW_REDIR (func, redir, nargs)
-# elif __LONG_DOUBLE_USES_FLOAT128 == 1
+# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# define __MATHCALL_REDIR_NAME(name) __ ## f64 ## name ## ieee128
# undef __MATHCALL_NARROW
# define __MATHCALL_NARROW(func, redir, nargs) \
@@ -599,7 +599,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y),
# undef _Marg_
# undef __MATHCALL_NAME
# if defined __LDBL_COMPAT \
- || __LONG_DOUBLE_USES_FLOAT128 == 1
+ || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# undef __MATHCALL_REDIR_NAME
# undef __MATHCALL_NARROW
# define __MATHCALL_NARROW(func, redir, nargs) \
diff --git a/math/test-ldouble.h b/math/test-ldouble.h
index b9ef6f41f9..3d62c92e14 100644
--- a/math/test-ldouble.h
+++ b/math/test-ldouble.h
@@ -29,7 +29,7 @@
/* On architectures which redirect long double to _Float128 ABI, we must
choose the float128 ulps. Similarly, on such architectures, the ABI
used may be dependent on how the compiler was invoked. */
-#elif __LONG_DOUBLE_USES_FLOAT128 == 1
+#elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# define TYPE_STR "float128"
# define ULP_IDX ULP_FLT128
#else
diff --git a/misc/err.h b/misc/err.h
index d146a55054..e56cd73c0e 100644
--- a/misc/err.h
+++ b/misc/err.h
@@ -53,7 +53,7 @@ extern void verrx (int __status, const char *, __gnuc_va_list)
__attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
+#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# include <bits/err-ldbl.h>
#endif
diff --git a/misc/error.h b/misc/error.h
index bb8a3b26a4..41d54c568f 100644
--- a/misc/error.h
+++ b/misc/error.h
@@ -48,7 +48,7 @@ extern unsigned int error_message_count;
extern int error_one_per_line;
#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
+#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# include <bits/error-ldbl.h>
#else
/* Do not inline error and error_at_line when long double has the same
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index dd5f69f833..9fa371ab86 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -452,7 +452,7 @@
#include <bits/wordsize.h>
#include <bits/long-double.h>
-#if __LONG_DOUBLE_USES_FLOAT128 == 1
+#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# ifdef __REDIRECT
/* Alias name defined automatically. */
@@ -503,7 +503,7 @@ _Static_assert (0, "IEEE 128-bits long double requires redirection on this platf
__LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
# endif
#endif
-#if (!defined __LDBL_COMPAT && __LONG_DOUBLE_USES_FLOAT128 == 0) \
+#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \
|| !defined __REDIRECT
# define __LDBL_REDIR1(name, proto, alias) name proto
# define __LDBL_REDIR(name, proto) name proto
diff --git a/misc/sys/syslog.h b/misc/sys/syslog.h
index c000b8e915..dc3b0e7ef8 100644
--- a/misc/sys/syslog.h
+++ b/misc/sys/syslog.h
@@ -208,7 +208,7 @@ extern void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap)
#endif
#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
+#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# include <bits/syslog-ldbl.h>
#endif
diff --git a/stdio-common/printf.h b/stdio-common/printf.h
index 00bedebfdb..7dccfcd6fb 100644
--- a/stdio-common/printf.h
+++ b/stdio-common/printf.h
@@ -183,7 +183,7 @@ extern int printf_size_info (const struct printf_info *__restrict
__THROW;
#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
+#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# include <bits/printf-ldbl.h>
#endif
diff --git a/stdio-common/tst-vfprintf-user-type.c b/stdio-common/tst-vfprintf-user-type.c
index 40d714fdb1..0abd61cea3 100644
--- a/stdio-common/tst-vfprintf-user-type.c
+++ b/stdio-common/tst-vfprintf-user-type.c
@@ -147,7 +147,7 @@ do_test (void)
/* Alias declaration for asprintf, to avoid the format string
attribute and the associated warning. */
-#if __LONG_DOUBLE_USES_FLOAT128 == 1
+#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
extern int asprintf_alias (char **, const char *, ...) __asm__ ("__asprintfieee128");
#else
extern int asprintf_alias (char **, const char *, ...) __asm__ ("asprintf");
diff --git a/stdlib/bits/stdlib-ldbl.h b/stdlib/bits/stdlib-ldbl.h
index 2469474532..cc8831dd16 100644
--- a/stdlib/bits/stdlib-ldbl.h
+++ b/stdlib/bits/stdlib-ldbl.h
@@ -51,7 +51,7 @@ __LDBL_REDIR1_DECL (qfcvt, fcvt)
__LDBL_REDIR1_DECL (qgcvt, gcvt)
__LDBL_REDIR1_DECL (qecvt_r, ecvt_r)
__LDBL_REDIR1_DECL (qfcvt_r, fcvt_r)
-# elif __LONG_DOUBLE_USES_FLOAT128 == 1
+# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
__LDBL_REDIR1_DECL (qecvt, __qecvtieee128)
__LDBL_REDIR1_DECL (qfcvt, __qfcvtieee128)
__LDBL_REDIR1_DECL (qgcvt, __qgcvtieee128)
diff --git a/stdlib/monetary.h b/stdlib/monetary.h
index 4a6d61fd2d..c9d3c64e14 100644
--- a/stdlib/monetary.h
+++ b/stdlib/monetary.h
@@ -51,7 +51,7 @@ extern ssize_t strfmon_l (char *__restrict __s, size_t __maxsize,
#endif
#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
+#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# include <bits/monetary-ldbl.h>
#endif
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index a7c0c71a80..9b7537c545 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -1018,7 +1018,7 @@ extern int ttyslot (void) __THROW;
#endif
#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
+#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# include <bits/stdlib-ldbl.h>
#endif
diff --git a/sysdeps/ieee754/ldbl-128/bits/long-double.h b/sysdeps/ieee754/ldbl-128/bits/long-double.h
index 941e60505f..dd64a06db6 100644
--- a/sysdeps/ieee754/ldbl-128/bits/long-double.h
+++ b/sysdeps/ieee754/ldbl-128/bits/long-double.h
@@ -18,4 +18,4 @@
/* long double is distinct from double, so there is nothing to
define here. */
-#define __LONG_DOUBLE_USES_FLOAT128 0
+#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/bits/long-double.h b/sysdeps/ieee754/ldbl-128ibm-compat/bits/long-double.h
index 91dddbdc8b..ef834c7748 100644
--- a/sysdeps/ieee754/ldbl-128ibm-compat/bits/long-double.h
+++ b/sysdeps/ieee754/ldbl-128ibm-compat/bits/long-double.h
@@ -22,8 +22,5 @@
# define __NO_LONG_DOUBLE_MATH 1
# endif
#endif
-/* On platforms that reuse the _Float128 implementation for IEEE long
- double, access to the correct long double functions is selected based
- on the long double mode being used during the compilation. On
- powerpc64le, this is true when -mabi=ieeelongdouble is in use. */
-#define __LONG_DOUBLE_USES_FLOAT128 (__LDBL_MANT_DIG__ == 113)
+
+#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI (__LDBL_MANT_DIG__ == 113)
diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/math_ldbl.h b/sysdeps/ieee754/ldbl-128ibm-compat/math_ldbl.h
index 352617e178..5490b400dd 100644
--- a/sysdeps/ieee754/ldbl-128ibm-compat/math_ldbl.h
+++ b/sysdeps/ieee754/ldbl-128ibm-compat/math_ldbl.h
@@ -23,7 +23,7 @@
/* Trampoline in the ldbl-128ibm headers if building against the
old abi. Otherwise, we have nothing to add. */
-#if __LONG_DOUBLE_USES_FLOAT128 == 0
+#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
#include_next <math_ldbl.h>
#endif
diff --git a/sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h b/sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h
index b2021b5d64..e60b3017eb 100644
--- a/sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h
+++ b/sysdeps/ieee754/ldbl-128ibm/bits/iscanonical.h
@@ -20,7 +20,7 @@
# error "Never use <bits/iscanonical.h> directly; include <math.h> instead."
#endif
-#if defined (__NO_LONG_DOUBLE_MATH) || __LONG_DOUBLE_USES_FLOAT128 == 1
+#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# define iscanonical(x) ((void) (__typeof (x)) (x), 1)
#else
extern int __iscanonicall (long double __x)
diff --git a/sysdeps/ieee754/ldbl-128ibm/ieee754.h b/sysdeps/ieee754/ldbl-128ibm/ieee754.h
index fe4892d84f..b66e3b9869 100644
--- a/sysdeps/ieee754/ldbl-128ibm/ieee754.h
+++ b/sysdeps/ieee754/ldbl-128ibm/ieee754.h
@@ -112,7 +112,7 @@ union ieee754_double
#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
-#if __LONG_DOUBLE_USES_FLOAT128 == 1
+#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
/* long double is IEEE 128 bit */
union ieee854_long_double
{
@@ -170,7 +170,7 @@ union ieee854_long_double
#endif
-#if __LONG_DOUBLE_USES_FLOAT128 == 0 || __GNUC_PREREQ (7, 0)
+#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 || __GNUC_PREREQ (7, 0)
/* IBM extended format for long double.
Each long double is made up of two IEEE doubles. The value of the
@@ -183,7 +183,7 @@ union ieee854_long_double
NaN is don't-care. */
union ibm_extended_long_double
{
-# if __LONG_DOUBLE_USES_FLOAT128 == 1 && __GNUC_PREREQ (7, 0)
+# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0)
__ibm128 ld;
# else
long double ld;
diff --git a/sysdeps/ieee754/ldbl-128ibm/include/bits/iscanonical.h b/sysdeps/ieee754/ldbl-128ibm/include/bits/iscanonical.h
index 8cbd6f74bf..60d5417089 100644
--- a/sysdeps/ieee754/ldbl-128ibm/include/bits/iscanonical.h
+++ b/sysdeps/ieee754/ldbl-128ibm/include/bits/iscanonical.h
@@ -1,5 +1,5 @@
#include_next <bits/iscanonical.h>
-#if !defined _ISOMAC && (__LONG_DOUBLE_USES_FLOAT128 == 0)
+#if !defined _ISOMAC && (__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0)
libm_hidden_proto (__iscanonicall)
#endif
diff --git a/sysdeps/ieee754/ldbl-96/bits/long-double.h b/sysdeps/ieee754/ldbl-96/bits/long-double.h
index b77124f842..9a2cd0dfe4 100644
--- a/sysdeps/ieee754/ldbl-96/bits/long-double.h
+++ b/sysdeps/ieee754/ldbl-96/bits/long-double.h
@@ -18,4 +18,4 @@
/* long double is distinct from double, so there is nothing to
define here. */
-#define __LONG_DOUBLE_USES_FLOAT128 0
+#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
diff --git a/sysdeps/ieee754/ldbl-opt/bits/long-double.h b/sysdeps/ieee754/ldbl-opt/bits/long-double.h
index 242e58410d..48688ad7e1 100644
--- a/sysdeps/ieee754/ldbl-opt/bits/long-double.h
+++ b/sysdeps/ieee754/ldbl-opt/bits/long-double.h
@@ -22,4 +22,4 @@
# define __NO_LONG_DOUBLE_MATH 1
# endif
#endif
-#define __LONG_DOUBLE_USES_FLOAT128 0
+#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
diff --git a/sysdeps/mips/ieee754/bits/long-double.h b/sysdeps/mips/ieee754/bits/long-double.h
index 57007a84d6..1ad74e4497 100644
--- a/sysdeps/mips/ieee754/bits/long-double.h
+++ b/sysdeps/mips/ieee754/bits/long-double.h
@@ -21,4 +21,4 @@
#if !defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32
# define __NO_LONG_DOUBLE_MATH 1
#endif
-#define __LONG_DOUBLE_USES_FLOAT128 0
+#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/bits/long-double.h b/sysdeps/unix/sysv/linux/sparc/sparc32/bits/long-double.h
index 7046cd40d7..107c5d179b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/bits/long-double.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/bits/long-double.h
@@ -24,4 +24,4 @@
# define __NO_LONG_DOUBLE_MATH 1
# endif
#endif
-#define __LONG_DOUBLE_USES_FLOAT128 0
+#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h
index 7046cd40d7..107c5d179b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/long-double.h
@@ -24,4 +24,4 @@
# define __NO_LONG_DOUBLE_MATH 1
# endif
#endif
-#define __LONG_DOUBLE_USES_FLOAT128 0
+#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
diff --git a/wcsmbs/bits/wchar-ldbl.h b/wcsmbs/bits/wchar-ldbl.h
index 75d547f680..1b063d1235 100644
--- a/wcsmbs/bits/wchar-ldbl.h
+++ b/wcsmbs/bits/wchar-ldbl.h
@@ -32,7 +32,7 @@ __LDBL_REDIR_DECL (vswprintf);
__LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf)
__LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf)
__LDBL_REDIR1_DECL (swscanf, __nldbl___isoc99_swscanf)
-# elif __LONG_DOUBLE_USES_FLOAT128 == 1
+# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
__LDBL_REDIR1_DECL (fwscanf, __isoc99_fwscanfieee128)
__LDBL_REDIR1_DECL (wscanf, __isoc99_wscanfieee128)
__LDBL_REDIR1_DECL (swscanf, __isoc99_swscanfieee128)
@@ -57,7 +57,7 @@ __LDBL_REDIR1_DECL (wcstold, __wcstoieee128)
__LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf)
__LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf)
__LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc99_vswscanf)
-# elif __LONG_DOUBLE_USES_FLOAT128 == 1
+# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
__LDBL_REDIR1_DECL (vfwscanf, __isoc99_vfwscanfieee128)
__LDBL_REDIR1_DECL (vwscanf, __isoc99_vwscanfieee128)
__LDBL_REDIR1_DECL (vswscanf, __isoc99_vswscanfieee128)
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index fb2cec8167..9cf8b05a87 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -634,10 +634,10 @@ extern int swscanf (const wchar_t *__restrict __s,
/* For historical reasons, the C99-compliant versions of the scanf
functions are at alternative names. When __LDBL_COMPAT or
- __LONG_DOUBLE_USES_FLOAT128 are in effect, this is handled in
+ __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in
bits/wchar-ldbl.h. */
#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \
- && __LONG_DOUBLE_USES_FLOAT128 == 0
+ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
# ifdef __REDIRECT
extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream,
const wchar_t *__restrict __format, ...),
@@ -691,7 +691,7 @@ extern int vswscanf (const wchar_t *__restrict __s,
# if !__GLIBC_USE (DEPRECATED_SCANF) \
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K) \
- && __LONG_DOUBLE_USES_FLOAT128 == 0
+ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
# ifdef __REDIRECT
extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s,
const wchar_t *__restrict __format,
@@ -853,7 +853,7 @@ extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
#endif
#include <bits/floatn.h>
-#if defined __LDBL_COMPAT || __LONG_DOUBLE_USES_FLOAT128 == 1
+#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
# include <bits/wchar-ldbl.h>
#endif