about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog46
-rw-r--r--NEWS4
-rw-r--r--manual/math.texi10
-rw-r--r--math/bits/math-finite.h5
-rw-r--r--math/bits/mathcalls.h6
-rw-r--r--math/libm-test-exp10.inc10
-rw-r--r--math/w_exp10_compat.c8
-rw-r--r--math/w_exp10f_compat.c4
-rw-r--r--math/w_exp10l_compat.c4
-rw-r--r--sysdeps/aarch64/libm-test-ulps30
-rw-r--r--sysdeps/alpha/fpu/libm-test-ulps30
-rw-r--r--sysdeps/arm/libm-test-ulps22
-rw-r--r--sysdeps/hppa/fpu/libm-test-ulps22
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps30
-rw-r--r--sysdeps/i386/i686/fpu/multiarch/libm-test-ulps30
-rw-r--r--sysdeps/ia64/fpu/e_exp10.S6
-rw-r--r--sysdeps/ia64/fpu/e_exp10f.S6
-rw-r--r--sysdeps/ia64/fpu/e_exp10l.S6
-rw-r--r--sysdeps/ieee754/ldbl-opt/Makefile3
-rw-r--r--sysdeps/ieee754/ldbl-opt/nldbl-pow10.c8
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_exp10_compat.c5
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c14
-rw-r--r--sysdeps/microblaze/libm-test-ulps4
-rw-r--r--sysdeps/mips/mips32/libm-test-ulps22
-rw-r--r--sysdeps/mips/mips64/libm-test-ulps30
-rw-r--r--sysdeps/nios2/libm-test-ulps4
-rw-r--r--sysdeps/powerpc/fpu/libm-test-ulps30
-rw-r--r--sysdeps/powerpc/nofpu/libm-test-ulps30
-rw-r--r--sysdeps/s390/fpu/libm-test-ulps30
-rw-r--r--sysdeps/sh/libm-test-ulps4
-rw-r--r--sysdeps/sparc/fpu/libm-test-ulps30
-rw-r--r--sysdeps/tile/libm-test-ulps4
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps30
33 files changed, 96 insertions, 431 deletions
diff --git a/ChangeLog b/ChangeLog
index 18d77a6951..1e8d9a5d54 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,49 @@
+2017-09-01  Joseph Myers  <joseph@codesourcery.com>
+
+	* manual/math.texi (pow10): Do not document.
+	(pow10f): Likewise.
+	(pow10l): Likewise.
+	* math/bits/mathcalls.h [__USE_GNU] (pow10): Do not declare.
+	* math/bits/math-finite.h [__USE_GNU] (pow10): Likewise.
+	* math/libm-test-exp10.inc (pow10_test): Remove.
+	(do_test): Do not call pow10.
+	* math/w_exp10_compat.c (pow10): Make into compat symbol.
+	[NO_LONG_DOUBLE] (pow10l): Likewise.
+	* math/w_exp10f_compat.c (pow10f): Likewise.
+	* math/w_exp10l_compat.c (pow10l): Likewise.
+	* sysdeps/ia64/fpu/e_exp10.S: Include <shlib-compat.h>.
+	(pow10): Make into compat symbol.
+	* sysdeps/ia64/fpu/e_exp10f.S: Include <shlib-compat.h>.
+	(pow10f): Make into compat symbol.
+	* sysdeps/ia64/fpu/e_exp10l.S: Include <shlib-compat.h>.
+	(pow10l): Make into compat symbol.
+	* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Remove
+	pow10.
+	(CFLAGS-nldbl-pow10.c): Remove variable..
+	* sysdeps/ieee754/ldbl-opt/nldbl-pow10.c: Remove file.
+	* sysdeps/ieee754/ldbl-opt/w_exp10_compat.c (pow10l): Condition on
+	[SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)].
+	* sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c (compat_symbol):
+	Undefine and redefine.
+	(pow10l): Make into compat symbol.
+	* sysdeps/aarch64/libm-test-ulps: Remove pow10 ulps.
+	* sysdeps/alpha/fpu/libm-test-ulps: Likewise.
+	* sysdeps/arm/libm-test-ulps: Likewise.
+	* sysdeps/hppa/fpu/libm-test-ulps: Likewise.
+	* sysdeps/i386/fpu/libm-test-ulps: Likewise.
+	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
+	* sysdeps/microblaze/libm-test-ulps: Likewise.
+	* sysdeps/mips/mips32/libm-test-ulps: Likewise.
+	* sysdeps/mips/mips64/libm-test-ulps: Likewise.
+	* sysdeps/nios2/libm-test-ulps: Likewise.
+	* sysdeps/powerpc/fpu/libm-test-ulps: Likewise.
+	* sysdeps/powerpc/nofpu/libm-test-ulps: Likewise.
+	* sysdeps/s390/fpu/libm-test-ulps: Likewise.
+	* sysdeps/sh/libm-test-ulps: Likewise.
+	* sysdeps/sparc/fpu/libm-test-ulps: Likewise.
+	* sysdeps/tile/libm-test-ulps: Likewise.
+	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
 2017-09-01  Paul Pluzhnikov  <ppluzhnikov@google.com>
 
 	* stdlib/tst-atexit-common.c (crumbs): Ensure correct size.
diff --git a/NEWS b/NEWS
index dce514dac7..dd381f8930 100644
--- a/NEWS
+++ b/NEWS
@@ -33,6 +33,10 @@ Deprecated and removed features, and other changes affecting compatibility:
   exception, or the macros X_TLOSS, DOMAIN, SING, OVERFLOW, UNDERFLOW,
   TLOSS, PLOSS and HUGE.
 
+* The libm functions pow10, pow10f and pow10l are no longer supported for
+  new programs.  Programs should use the standard names exp10, exp10f and
+  exp10l for these functions instead.
+
 * The mcontext_t type is no longer the same as struct sigcontext.  On
   platforms where it was previously the same, this changes the C++ name
   mangling for interfaces involving this type.
diff --git a/manual/math.texi b/manual/math.texi
index d58b0e531d..f5602c9be3 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -490,22 +490,14 @@ Mathematically, @code{exp2 (x)} is the same as @code{exp (x * log (2))}.
 @deftypefunx {long double} exp10l (long double @var{x})
 @deftypefunx _FloatN exp10fN (_Float@var{N} @var{x})
 @deftypefunx _FloatNx exp10fNx (_Float@var{N}x @var{x})
-@deftypefunx double pow10 (double @var{x})
-@deftypefunx float pow10f (float @var{x})
-@deftypefunx {long double} pow10l (long double @var{x})
 @standards{ISO, math.h}
 @standardsx{exp10fN, TS 18661-4:2015, math.h}
 @standardsx{exp10fNx, TS 18661-4:2015, math.h}
-@standardsx{pow10, GNU, math.h}
-@standardsx{pow10f, GNU, math.h}
-@standardsx{pow10l, GNU, math.h}
 @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
 These functions compute @code{10} raised to the power @var{x}.
 Mathematically, @code{exp10 (x)} is the same as @code{exp (x * log (10))}.
 
-The @code{exp10} functions are from TS 18661-4:2015; the @code{pow10}
-names are GNU extensions.  The name @code{exp10} is
-preferred, since it is analogous to @code{exp} and @code{exp2}.
+The @code{exp10} functions are from TS 18661-4:2015.
 @end deftypefun
 
 
diff --git a/math/bits/math-finite.h b/math/bits/math-finite.h
index de57b504bd..8113db265a 100644
--- a/math/bits/math-finite.h
+++ b/math/bits/math-finite.h
@@ -70,11 +70,6 @@ __MATH_REDIRCALL (exp, , (_Mdouble_));
 #ifdef __USE_GNU
 /* exp10.  */
 __MATH_REDIRCALL (exp10, , (_Mdouble_));
-
-/* pow10.  */
-# if !__MATH_DECLARING_FLOATN
-__MATH_REDIRCALL_2 (pow10, , (_Mdouble_), exp10);
-# endif
 #endif
 
 #ifdef __USE_ISOC99
diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h
index 90b996740b..d799b62140 100644
--- a/math/bits/mathcalls.h
+++ b/math/bits/mathcalls.h
@@ -113,12 +113,6 @@ __MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2));
 /* Compute exponent to base ten.  */
 __MATHCALL (exp10,, (_Mdouble_ __x));
 #endif
-#ifdef __USE_GNU
-/* Another name occasionally used.  */
-# if !__MATH_DECLARING_FLOATN
-__MATHCALL (pow10,, (_Mdouble_ __x));
-# endif
-#endif
 
 #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
 /* Return exp(X) - 1.  */
diff --git a/math/libm-test-exp10.inc b/math/libm-test-exp10.inc
index 374d12a193..4da3715771 100644
--- a/math/libm-test-exp10.inc
+++ b/math/libm-test-exp10.inc
@@ -37,19 +37,9 @@ exp10_test (void)
 }
 
 static void
-pow10_test (void)
-{
-#if !TEST_FLOATN
-  /* pow10 uses the same test data as exp10.  */
-  ALL_RM_TEST (pow10, 0, exp10_test_data, RUN_TEST_LOOP_f_f, END);
-#endif
-}
-
-static void
 do_test (void)
 {
   exp10_test ();
-  pow10_test ();
 }
 
 /*
diff --git a/math/w_exp10_compat.c b/math/w_exp10_compat.c
index 64f1d19950..5256f5b06f 100644
--- a/math/w_exp10_compat.c
+++ b/math/w_exp10_compat.c
@@ -37,11 +37,15 @@ __exp10 (double x)
   return z;
 }
 weak_alias (__exp10, exp10)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
 strong_alias (__exp10, __pow10)
-weak_alias (__pow10, pow10)
+compat_symbol (libm, __pow10, pow10, GLIBC_2_1);
+#endif
 #ifdef NO_LONG_DOUBLE
 strong_alias (__exp10, __exp10l)
 weak_alias (__exp10, exp10l)
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
 strong_alias (__exp10l, __pow10l)
-weak_alias (__pow10l, pow10l)
+compat_symbol (libm, __pow10l, pow10l, GLIBC_2_1);
+# endif
 #endif
diff --git a/math/w_exp10f_compat.c b/math/w_exp10f_compat.c
index 5cf926aee2..c559e6a629 100644
--- a/math/w_exp10f_compat.c
+++ b/math/w_exp10f_compat.c
@@ -37,5 +37,7 @@ __exp10f (float x)
   return z;
 }
 weak_alias (__exp10f, exp10f)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
 strong_alias (__exp10f, __pow10f)
-weak_alias (__pow10f, pow10f)
+compat_symbol (libm, __pow10f, pow10f, GLIBC_2_1);
+#endif
diff --git a/math/w_exp10l_compat.c b/math/w_exp10l_compat.c
index 06f5267a8f..03b7ce9b6b 100644
--- a/math/w_exp10l_compat.c
+++ b/math/w_exp10l_compat.c
@@ -37,5 +37,7 @@ __exp10l (long double x)
   return z;
 }
 weak_alias (__exp10l, exp10l)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
 strong_alias (__exp10l, __pow10l)
-weak_alias (__pow10l, pow10l)
+compat_symbol (libm, __pow10l, pow10l, GLIBC_2_1);
+#endif
diff --git a/sysdeps/aarch64/libm-test-ulps b/sysdeps/aarch64/libm-test-ulps
index 0f987bca59..797a8ef8cb 100644
--- a/sysdeps/aarch64/libm-test-ulps
+++ b/sysdeps/aarch64/libm-test-ulps
@@ -1937,36 +1937,6 @@ ifloat: 1
 ildouble: 2
 ldouble: 2
 
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
 Function: "pow_downward":
 double: 1
 float: 1
diff --git a/sysdeps/alpha/fpu/libm-test-ulps b/sysdeps/alpha/fpu/libm-test-ulps
index aaa8e4f7c1..6d8440a06b 100644
--- a/sysdeps/alpha/fpu/libm-test-ulps
+++ b/sysdeps/alpha/fpu/libm-test-ulps
@@ -1931,36 +1931,6 @@ ifloat: 1
 ildouble: 2
 ldouble: 2
 
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
 Function: "pow_downward":
 double: 1
 float: 1
diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps
index c6ee80095a..53fc6df01a 100644
--- a/sysdeps/arm/libm-test-ulps
+++ b/sysdeps/arm/libm-test-ulps
@@ -1437,28 +1437,6 @@ Function: "pow":
 float: 1
 ifloat: 1
 
-Function: "pow10":
-double: 2
-idouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
 Function: "pow_downward":
 double: 1
 float: 1
diff --git a/sysdeps/hppa/fpu/libm-test-ulps b/sysdeps/hppa/fpu/libm-test-ulps
index 6e2058391d..81e98cc65c 100644
--- a/sysdeps/hppa/fpu/libm-test-ulps
+++ b/sysdeps/hppa/fpu/libm-test-ulps
@@ -1499,28 +1499,6 @@ Function: "pow":
 float: 1
 ifloat: 1
 
-Function: "pow10":
-double: 2
-idouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
 Function: "pow_downward":
 double: 1
 float: 1
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index ed685de35d..68017a511e 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -2358,36 +2358,6 @@ ifloat128: 2
 ildouble: 1
 ldouble: 1
 
-Function: "pow10":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow10_downward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
 Function: "pow_downward":
 double: 1
 float128: 2
diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
index 053f5ec972..d81c28ba95 100644
--- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
+++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
@@ -2360,36 +2360,6 @@ ifloat128: 2
 ildouble: 1
 ldouble: 1
 
-Function: "pow10":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow10_downward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
 Function: "pow_downward":
 double: 1
 float128: 2
diff --git a/sysdeps/ia64/fpu/e_exp10.S b/sysdeps/ia64/fpu/e_exp10.S
index eafa59dd7c..7b0737184b 100644
--- a/sysdeps/ia64/fpu/e_exp10.S
+++ b/sysdeps/ia64/fpu/e_exp10.S
@@ -87,6 +87,8 @@
 // p6-p12
 //
 
+#include <shlib-compat.h>
+
 
 GR_TBL_START        = r2
 GR_LOG_TBL          = r3
@@ -534,7 +536,9 @@ OUT_RANGE_exp10:
 ;;
 
 GLOBAL_IEEE754_END(exp10)
-weak_alias (exp10, pow10)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+compat_symbol (libm, exp10, pow10, GLIBC_2_2)
+#endif
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_exp10f.S b/sysdeps/ia64/fpu/e_exp10f.S
index fa54e9039f..f9fe8ca192 100644
--- a/sysdeps/ia64/fpu/e_exp10f.S
+++ b/sysdeps/ia64/fpu/e_exp10f.S
@@ -86,6 +86,8 @@
 // p6-p12
 //
 
+#include <shlib-compat.h>
+
 
 GR_TBL_START        = r2
 GR_LOG_TBL          = r3
@@ -486,7 +488,9 @@ OUT_RANGE_exp10:
 ;;
 
 GLOBAL_IEEE754_END(exp10f)
-weak_alias (exp10f, pow10f)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+compat_symbol (libm, exp10f, pow10f, GLIBC_2_2)
+#endif
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_exp10l.S b/sysdeps/ia64/fpu/e_exp10l.S
index f72d547ebf..0a610b3597 100644
--- a/sysdeps/ia64/fpu/e_exp10l.S
+++ b/sysdeps/ia64/fpu/e_exp10l.S
@@ -85,6 +85,8 @@
 // p6-p8, p11-p14
 //
 
+#include <shlib-compat.h>
+
 
        FR_X        = f10
        FR_Y        = f1
@@ -747,7 +749,9 @@ OUT_RANGE_EXP10:
 ;;
 
 GLOBAL_IEEE754_END(exp10l)
-weak_alias (exp10l, pow10l)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+compat_symbol (libm, exp10l, pow10l, GLIBC_2_2)
+#endif
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ieee754/ldbl-opt/Makefile b/sysdeps/ieee754/ldbl-opt/Makefile
index 81429d0ddd..ffc55d1d9a 100644
--- a/sysdeps/ieee754/ldbl-opt/Makefile
+++ b/sysdeps/ieee754/ldbl-opt/Makefile
@@ -29,7 +29,7 @@ libnldbl-calls = asprintf dprintf fprintf fscanf fwprintf fwscanf iovfscanf \
 		 qecvt qfcvt qgcvt qecvt_r qfcvt_r \
 		 isinf isnan finite signbit scalb log2 lgamma_r ceil \
 		 significand acos asin atan atan2 cos sin tan cosh sinh \
-		 tanh acosh asinh atanh exp log log10 exp10 pow10 expm1 \
+		 tanh acosh asinh atanh exp log log10 exp10 expm1 \
 		 log1p logb exp2 sqrt cbrt fabs floor j0 j1 y0 y1 erf erfc \
 		 lgamma tgamma gamma rint nearbyint round trunc \
 		 copysign fdim fmax fmin nextafter pow hypot fmod \
@@ -136,7 +136,6 @@ CFLAGS-nldbl-nexttoward.c = -fno-builtin-nexttoward -fno-builtin-nexttowardl
 CFLAGS-nldbl-nexttowardf.c = -fno-builtin-nexttowardf
 CFLAGS-nldbl-nextup.c = -fno-builtin-nextupl
 CFLAGS-nldbl-pow.c = -fno-builtin-powl
-CFLAGS-nldbl-pow10.c = -fno-builtin-pow10l
 CFLAGS-nldbl-remainder.c = -fno-builtin-remainderl -fno-builtin-dreml
 CFLAGS-nldbl-remquo.c = -fno-builtin-remquol
 CFLAGS-nldbl-rint.c = -fno-builtin-rintl
diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-pow10.c b/sysdeps/ieee754/ldbl-opt/nldbl-pow10.c
deleted file mode 100644
index 20ebf8d1bb..0000000000
--- a/sysdeps/ieee754/ldbl-opt/nldbl-pow10.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "nldbl-compat.h"
-
-double
-attribute_hidden
-pow10l (double x)
-{
-  return pow10 (x);
-}
diff --git a/sysdeps/ieee754/ldbl-opt/w_exp10_compat.c b/sysdeps/ieee754/ldbl-opt/w_exp10_compat.c
index 142a70bcd6..eb132cfbe5 100644
--- a/sysdeps/ieee754/ldbl-opt/w_exp10_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_exp10_compat.c
@@ -2,5 +2,8 @@
 #include <math/w_exp10_compat.c>
 #if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
 compat_symbol (libm, __exp10, exp10l, GLIBC_2_1);
-compat_symbol (libm, __pow10, pow10l, GLIBC_2_1);
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+strong_alias (__pow10, __pow10_pow10l)
+compat_symbol (libm, __pow10_pow10l, pow10l, GLIBC_2_1);
+# endif
 #endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c b/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c
index 8f2ccd3441..cf154882fe 100644
--- a/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c
@@ -1,6 +1,18 @@
 #include <math_ldbl_opt.h>
 #undef weak_alias
 #define weak_alias(n,a)
+#undef compat_symbol
+#define compat_symbol(l,n,a,v)
 #include <math/w_exp10l_compat.c>
 long_double_symbol (libm, __exp10l, exp10l);
-long_double_symbol (libm, __pow10l, pow10l);
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+/* compat_symbol was undefined and redefined above to avoid the
+   default pow10l compat symbol at version GLIBC_2_1 (as for ldbl-opt
+   configurations, that version should have the alias to exp10).  So
+   it now needs to be redefined to define the compat symbol at version
+   LONG_DOUBLE_COMPAT_VERSION.  */
+# undef compat_symbol
+# define compat_symbol(lib, local, symbol, version)	\
+  compat_symbol_reference (lib, local, symbol, version)
+compat_symbol (libm, __pow10l, pow10l, LONG_DOUBLE_COMPAT_VERSION);
+#endif
diff --git a/sysdeps/microblaze/libm-test-ulps b/sysdeps/microblaze/libm-test-ulps
index 64f935387d..e4b4d4e490 100644
--- a/sysdeps/microblaze/libm-test-ulps
+++ b/sysdeps/microblaze/libm-test-ulps
@@ -343,10 +343,6 @@ Function: "pow":
 float: 1
 ifloat: 1
 
-Function: "pow10":
-double: 2
-idouble: 2
-
 Function: "sin":
 float: 1
 ifloat: 1
diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps
index c6ee80095a..53fc6df01a 100644
--- a/sysdeps/mips/mips32/libm-test-ulps
+++ b/sysdeps/mips/mips32/libm-test-ulps
@@ -1437,28 +1437,6 @@ Function: "pow":
 float: 1
 ifloat: 1
 
-Function: "pow10":
-double: 2
-idouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
 Function: "pow_downward":
 double: 1
 float: 1
diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps
index b3b0140abc..f296909cca 100644
--- a/sysdeps/mips/mips64/libm-test-ulps
+++ b/sysdeps/mips/mips64/libm-test-ulps
@@ -1931,36 +1931,6 @@ ifloat: 1
 ildouble: 2
 ldouble: 2
 
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
 Function: "pow_downward":
 double: 1
 float: 1
diff --git a/sysdeps/nios2/libm-test-ulps b/sysdeps/nios2/libm-test-ulps
index b7a36e3ce6..a9d2c23143 100644
--- a/sysdeps/nios2/libm-test-ulps
+++ b/sysdeps/nios2/libm-test-ulps
@@ -343,10 +343,6 @@ Function: "pow":
 float: 3
 ifloat: 3
 
-Function: "pow10":
-double: 2
-idouble: 2
-
 Function: "sin":
 float: 1
 ifloat: 1
diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps
index d4d03311e3..000d201e2f 100644
--- a/sysdeps/powerpc/fpu/libm-test-ulps
+++ b/sysdeps/powerpc/fpu/libm-test-ulps
@@ -2471,36 +2471,6 @@ ifloat128: 2
 ildouble: 1
 ldouble: 1
 
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 9
-ldouble: 9
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 9
-ldouble: 9
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 4
-ldouble: 4
-
 Function: "pow_downward":
 double: 1
 float: 1
diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps
index 8935f0d714..64bc4f6dc9 100644
--- a/sysdeps/powerpc/nofpu/libm-test-ulps
+++ b/sysdeps/powerpc/nofpu/libm-test-ulps
@@ -1985,36 +1985,6 @@ ifloat: 1
 ildouble: 1
 ldouble: 1
 
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 9
-ldouble: 9
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 9
-ldouble: 9
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 4
-ldouble: 4
-
 Function: "pow_downward":
 double: 1
 float: 1
diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps
index dad5205ae7..4f543179f2 100644
--- a/sysdeps/s390/fpu/libm-test-ulps
+++ b/sysdeps/s390/fpu/libm-test-ulps
@@ -1931,36 +1931,6 @@ ifloat: 1
 ildouble: 2
 ldouble: 2
 
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
 Function: "pow_downward":
 double: 1
 float: 1
diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps
index a00f04e2a3..da4224c2d6 100644
--- a/sysdeps/sh/libm-test-ulps
+++ b/sysdeps/sh/libm-test-ulps
@@ -358,10 +358,6 @@ Function: "pow":
 float: 1
 ifloat: 1
 
-Function: "pow10":
-double: 1
-idouble: 1
-
 Function: "pow_towardzero":
 float: 1
 ifloat: 1
diff --git a/sysdeps/sparc/fpu/libm-test-ulps b/sysdeps/sparc/fpu/libm-test-ulps
index dd4677d847..f1f2f73fcb 100644
--- a/sysdeps/sparc/fpu/libm-test-ulps
+++ b/sysdeps/sparc/fpu/libm-test-ulps
@@ -1931,36 +1931,6 @@ ifloat: 3
 ildouble: 2
 ldouble: 2
 
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
 Function: "pow_downward":
 double: 1
 float: 3
diff --git a/sysdeps/tile/libm-test-ulps b/sysdeps/tile/libm-test-ulps
index f1a01fdb30..e454817d77 100644
--- a/sysdeps/tile/libm-test-ulps
+++ b/sysdeps/tile/libm-test-ulps
@@ -339,10 +339,6 @@ Function: "pow":
 float: 3
 ifloat: 3
 
-Function: "pow10":
-double: 2
-idouble: 2
-
 Function: "sin":
 float: 1
 ifloat: 1
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 59ec92056e..fe83b8b1c8 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -2471,36 +2471,6 @@ ifloat128: 2
 ildouble: 1
 ldouble: 1
 
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
 Function: "pow_downward":
 double: 1
 float: 1