From patchwork Fri Sep 1 21:14:19 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 809006 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-84116-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="v68QGAHu"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3xkX7N45m3z9sPk for ; Sat, 2 Sep 2017 07:14:40 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:mime-version :content-type; q=dns; s=default; b=bEPpZNtc1p1YBSAxicIfbMFnBRh6t HPBrnO81xlPSZxbE+n9+c9vaf8ye2b2Q6o2311xesuBiPVHfq065qVili/50uTCU Sc/xtaEnj+2+p18kUf61++6vIDSFc+vH8XXHwhjgGWDb4dzSdnFrm3hR4ZCDNJls mYpeXSbR+WSMo0= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:subject:message-id:mime-version :content-type; s=default; bh=rDjQJW3hTRlkCbpINNd2NoqkLBU=; b=v68 QGAHu/0MbSMc65hPTvI9acRPE9NTXXUkuGJn7YNvI7C5wF7YLO0TJA2EzNTFvn8M rJXp7CJHDehgEgyq98lRlrBnJkYtwundPIb19fkTrRmnYyi479P8s1IpDfaU/1ym a6v/G3FdIWE9i4Dfv39QsNlzpD13JfCmLWVyFG5I= Received: (qmail 75813 invoked by alias); 1 Sep 2017 21:14:32 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 75803 invoked by uid 89); 1 Sep 2017 21:14:32 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.5 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS, URIBL_RED autolearn=ham version=3.3.2 spammy= X-HELO: relay1.mentorg.com Date: Fri, 1 Sep 2017 21:14:19 +0000 From: Joseph Myers To: Subject: Obsolete pow10 functions [committed] Message-ID: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) 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. Committed. 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. diff --git a/NEWS b/NEWS index dce514d..dd381f8 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 d58b0e5..f5602c9 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 de57b50..8113db2 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 90b9967..d799b62 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 374d12a..4da3715 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 64f1d19..5256f5b 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 5cf926a..c559e6a 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 06f5267..03b7ce9 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 0f987bc..797a8ef 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 aaa8e4f..6d8440a 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 c6ee800..53fc6df 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 6e20583..81e98cc 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 ed685de..68017a5 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 053f5ec..d81c28b 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 eafa59d..7b07371 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 fa54e90..f9fe8ca 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 f72d547..0a610b3 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 81429d0..ffc55d1 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 20ebf8d..0000000 --- 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 142a70b..eb132cf 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 8f2ccd3..cf15488 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 64f9353..e4b4d4e 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 c6ee800..53fc6df 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 b3b0140..f296909 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 b7a36e3..a9d2c23 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 d4d0331..000d201 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 8935f0d..64bc4f6 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 dad5205..4f54317 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 a00f04e..da4224c 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 dd4677d..f1f2f73 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 f1a01fd..e454817 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 59ec920..fe83b8b 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