From: Joseph Myers Date: Fri, 1 Sep 2017 21:13:18 +0000 (+0000) Subject: Obsolete pow10 functions. X-Git-Tag: glibc-2.27~988 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5a80d39d0d2587e9bd8e72f19e92eeb2a66fbe9e;p=thirdparty%2Fglibc.git Obsolete pow10 functions. This patch obsoletes the pow10, pow10f and pow10l functions (makes them into compat symbols, not available for new ports or static linking). The exp10 names for these functions are standardized (in TS 18661-4) and were added in the same glibc version (2.1) as pow10 so source code can change to use them without any loss of portability. Since pow10 is deliberately not provided for _Float128, only exp10, this slightly simplifies moving to the new wrapper templates in the !LIBM_SVID_COMPAT case, by avoiding needing to arrange for pow10, pow10f and pow10l to be defined by those templates. Tested for x86_64, and with build-many-glibcs.py. * 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 . (pow10): Make into compat symbol. * sysdeps/ia64/fpu/e_exp10f.S: Include . (pow10f): Make into compat symbol. * sysdeps/ia64/fpu/e_exp10l.S: Include . (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. --- diff --git a/ChangeLog b/ChangeLog index 18d77a6951d..1e8d9a5d543 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,49 @@ +2017-09-01 Joseph Myers + + * 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 . + (pow10): Make into compat symbol. + * sysdeps/ia64/fpu/e_exp10f.S: Include . + (pow10f): Make into compat symbol. + * sysdeps/ia64/fpu/e_exp10l.S: Include . + (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 * stdlib/tst-atexit-common.c (crumbs): Ensure correct size. diff --git a/NEWS b/NEWS index dce514dac7c..dd381f89308 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 d58b0e531d9..f5602c9be3c 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 de57b504bdc..8113db265aa 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 90b996740b6..d799b621404 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 374d12a1936..4da37157712 100644 --- a/math/libm-test-exp10.inc +++ b/math/libm-test-exp10.inc @@ -36,20 +36,10 @@ exp10_test (void) ALL_RM_TEST (exp10, 0, exp10_test_data, RUN_TEST_LOOP_f_f, END); } -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 64f1d19950b..5256f5b06f0 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 5cf926aee26..c559e6a6295 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 06f5267a8fb..03b7ce9b6bd 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 0f987bca596..797a8ef8cb7 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 aaa8e4f7c17..6d8440a06ba 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 c6ee80095a5..53fc6df01a3 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 6e2058391d3..81e98cc65c4 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 ed685de35dd..68017a511e6 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 053f5ec9720..d81c28ba950 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 eafa59dd7c7..7b0737184b0 100644 --- a/sysdeps/ia64/fpu/e_exp10.S +++ b/sysdeps/ia64/fpu/e_exp10.S @@ -87,6 +87,8 @@ // p6-p12 // +#include + 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 fa54e9039fa..f9fe8ca1920 100644 --- a/sysdeps/ia64/fpu/e_exp10f.S +++ b/sysdeps/ia64/fpu/e_exp10f.S @@ -86,6 +86,8 @@ // p6-p12 // +#include + 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 f72d547ebfc..0a610b3597d 100644 --- a/sysdeps/ia64/fpu/e_exp10l.S +++ b/sysdeps/ia64/fpu/e_exp10l.S @@ -85,6 +85,8 @@ // p6-p8, p11-p14 // +#include + 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 81429d0dddd..ffc55d1d9ac 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 20ebf8d1bbc..00000000000 --- 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 142a70bcd6c..eb132cfbe5d 100644 --- a/sysdeps/ieee754/ldbl-opt/w_exp10_compat.c +++ b/sysdeps/ieee754/ldbl-opt/w_exp10_compat.c @@ -2,5 +2,8 @@ #include #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 8f2ccd3441a..cf154882fee 100644 --- a/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c +++ b/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c @@ -1,6 +1,18 @@ #include #undef weak_alias #define weak_alias(n,a) +#undef compat_symbol +#define compat_symbol(l,n,a,v) #include 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 64f935387dd..e4b4d4e4909 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 c6ee80095a5..53fc6df01a3 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 b3b0140abc2..f296909cca0 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 b7a36e3ce66..a9d2c23143d 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 d4d03311e3c..000d201e2f7 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 8935f0d7141..64bc4f6dc9e 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 dad5205ae7e..4f543179f21 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 a00f04e2a3f..da4224c2d63 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 dd4677d847c..f1f2f73fcb3 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 f1a01fdb30a..e454817d771 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 59ec92056e6..fe83b8b1c80 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