diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-09-01 21:13:18 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-09-01 21:13:18 +0000 |
commit | 5a80d39d0d2587e9bd8e72f19e92eeb2a66fbe9e (patch) | |
tree | 92d35005b29aa5969b6da94249d31b50c2871ae3 /math | |
parent | 3824fc38910f71c2c8cc623e788ff7eb09999642 (diff) | |
download | glibc-5a80d39d0d2587e9bd8e72f19e92eeb2a66fbe9e.tar.gz |
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 <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.
Diffstat (limited to 'math')
-rw-r--r-- | math/bits/math-finite.h | 5 | ||||
-rw-r--r-- | math/bits/mathcalls.h | 6 | ||||
-rw-r--r-- | math/libm-test-exp10.inc | 10 | ||||
-rw-r--r-- | math/w_exp10_compat.c | 8 | ||||
-rw-r--r-- | math/w_exp10f_compat.c | 4 | ||||
-rw-r--r-- | math/w_exp10l_compat.c | 4 |
6 files changed, 12 insertions, 25 deletions
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 |