diff options
author | Wilco Dijkstra <Wilco.Dijkstra@arm.com> | 2019-07-16 12:17:22 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-01-03 10:02:04 -0300 |
commit | 220622dde5704c95a100c2792a280f18f3deba73 (patch) | |
tree | fbf0df37c2671a9bc21a200bd2f587fc5e4cbe2b | |
parent | cf4dfd461725b6dbe6f27fbd16913f2c6c5cf7c5 (diff) | |
download | glibc-220622dde5704c95a100c2792a280f18f3deba73.tar.gz glibc-220622dde5704c95a100c2792a280f18f3deba73.tar.xz glibc-220622dde5704c95a100c2792a280f18f3deba73.zip |
Add libm_alias_finite for _finite symbols
This patch adds a new macro, libm_alias_finite, to define all _finite symbol. It sets all _finite symbol as compat symbol based on its first version (obtained from the definition at built generated first-versions.h). The <fn>f128_finite symbols were introduced in GLIBC 2.26 and so need special treatment in code that is shared between long double and float128. It is done by adding a list, similar to internal symbol redifinition, on sysdeps/ieee754/float128/float128_private.h. Alpha also needs some tricky changes to ensure we still emit 2 compat symbols for sqrt(f). Passes buildmanyglibc. Co-authored-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
263 files changed, 605 insertions, 351 deletions
diff --git a/math/e_exp10.c b/math/e_exp10.c index 143287946d..73c3cf090b 100644 --- a/math/e_exp10.c +++ b/math/e_exp10.c @@ -19,6 +19,7 @@ #include <math.h> #include <math_private.h> #include <float.h> +#include <libm-alias-finite.h> double __ieee754_exp10 (double arg) @@ -30,4 +31,4 @@ __ieee754_exp10 (double arg) replaced sometime (soon?). */ return __ieee754_exp (M_LN10 * arg); } -strong_alias (__ieee754_exp10, __exp10_finite) +libm_alias_finite (__ieee754_exp10, __exp10) diff --git a/math/e_exp10f.c b/math/e_exp10f.c index 5a06a1ecfe..93c41d00a6 100644 --- a/math/e_exp10f.c +++ b/math/e_exp10f.c @@ -18,7 +18,7 @@ #include <math.h> #include <math_private.h> - +#include <libm-alias-finite.h> float __ieee754_exp10f (float arg) @@ -29,4 +29,4 @@ __ieee754_exp10f (float arg) this. */ return __ieee754_exp (M_LN10 * arg); } -strong_alias (__ieee754_exp10f, __exp10f_finite) +libm_alias_finite (__ieee754_exp10f, __exp10f) diff --git a/math/e_exp10l.c b/math/e_exp10l.c index ac56f98140..b33d6fea23 100644 --- a/math/e_exp10l.c +++ b/math/e_exp10l.c @@ -19,6 +19,7 @@ #include <math.h> #include <math_private.h> #include <float.h> +#include <libm-alias-finite.h> long double __ieee754_exp10l (long double arg) @@ -30,4 +31,4 @@ __ieee754_exp10l (long double arg) replaced sometime (soon?). */ return __ieee754_expl (M_LN10l * arg); } -strong_alias (__ieee754_exp10l, __exp10l_finite) +libm_alias_finite (__ieee754_exp10, __exp10) diff --git a/math/e_scalb.c b/math/e_scalb.c index e5e8e29d84..dbe3b51d6a 100644 --- a/math/e_scalb.c +++ b/math/e_scalb.c @@ -18,7 +18,7 @@ #include <math.h> #include <math_private.h> - +#include <libm-alias-finite.h> static double __attribute__ ((noinline)) @@ -51,4 +51,4 @@ __ieee754_scalb (double x, double fn) return __scalbn (x, (int) fn); } -strong_alias (__ieee754_scalb, __scalb_finite) +libm_alias_finite (__ieee754_scalb, __scalb) diff --git a/math/e_scalbf.c b/math/e_scalbf.c index 3c68787c12..944cfbefc9 100644 --- a/math/e_scalbf.c +++ b/math/e_scalbf.c @@ -18,7 +18,7 @@ #include <math.h> #include <math_private.h> - +#include <libm-alias-finite.h> static float __attribute__ ((noinline)) @@ -51,4 +51,4 @@ __ieee754_scalbf (float x, float fn) return __scalbnf (x, (int) fn); } -strong_alias (__ieee754_scalbf, __scalbf_finite) +libm_alias_finite (__ieee754_scalbf, __scalbf) diff --git a/math/e_scalbl.c b/math/e_scalbl.c index 9e9bc6c332..6595ec6c27 100644 --- a/math/e_scalbl.c +++ b/math/e_scalbl.c @@ -18,7 +18,7 @@ #include <math.h> #include <math_private.h> - +#include <libm-alias-finite.h> static long double __attribute__ ((noinline)) @@ -51,4 +51,4 @@ __ieee754_scalbl (long double x, long double fn) return __scalbnl (x, (int) fn); } -strong_alias (__ieee754_scalbl, __scalbl_finite) +libm_alias_finite (__ieee754_scalbl, __scalbl) diff --git a/sysdeps/aarch64/e_sqrtl.c b/sysdeps/aarch64/e_sqrtl.c index 0af9ec80a3..87b26382d1 100644 --- a/sysdeps/aarch64/e_sqrtl.c +++ b/sysdeps/aarch64/e_sqrtl.c @@ -21,6 +21,7 @@ #include <stdlib.h> #include <soft-fp.h> #include <quad.h> +#include <libm-alias-finite.h> long double __ieee754_sqrtl (const long double a) @@ -36,4 +37,4 @@ __ieee754_sqrtl (const long double a) FP_HANDLE_EXCEPTIONS; return c; } -strong_alias (__ieee754_sqrtl, __sqrtl_finite) +libm_alias_finite (__ieee754_sqrtl, __sqrtl) diff --git a/sysdeps/aarch64/fpu/e_sqrt.c b/sysdeps/aarch64/fpu/e_sqrt.c index 8614606c63..abb67ef7b0 100644 --- a/sysdeps/aarch64/fpu/e_sqrt.c +++ b/sysdeps/aarch64/fpu/e_sqrt.c @@ -17,10 +17,11 @@ <https://www.gnu.org/licenses/>. */ #include <math_private.h> +#include <libm-alias-finite.h> double __ieee754_sqrt (double d) { return __builtin_sqrt (d); } -strong_alias (__ieee754_sqrt, __sqrt_finite) +libm_alias_finite (__ieee754_sqrt, __sqrt) diff --git a/sysdeps/aarch64/fpu/e_sqrtf.c b/sysdeps/aarch64/fpu/e_sqrtf.c index 6a5026df20..13008a4f45 100644 --- a/sysdeps/aarch64/fpu/e_sqrtf.c +++ b/sysdeps/aarch64/fpu/e_sqrtf.c @@ -17,10 +17,11 @@ <https://www.gnu.org/licenses/>. */ #include <math_private.h> +#include <libm-alias-finite.h> float __ieee754_sqrtf (float s) { return __builtin_sqrtf (s); } -strong_alias (__ieee754_sqrtf, __sqrtf_finite) +libm_alias_finite (__ieee754_sqrtf, __sqrtf) diff --git a/sysdeps/alpha/alphaev6/fpu/e_sqrt.S b/sysdeps/alpha/alphaev6/fpu/e_sqrt.S index 90ff4bc8e2..33596e2ed3 100644 --- a/sysdeps/alpha/alphaev6/fpu/e_sqrt.S +++ b/sysdeps/alpha/alphaev6/fpu/e_sqrt.S @@ -45,9 +45,9 @@ ENTRY(__ieee754_sqrt) END(__ieee754_sqrt) #if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18) -strong_alias(__ieee754_sqrt, __sqrt_finite1) -compat_symbol(libm, __sqrt_finite1, __sqrt_finite, GLIBC_2_15) -versioned_symbol(libm, __ieee754_sqrt, __sqrt_finite, GLIBC_2_18) -#else -strong_alias(__ieee754_sqrt, __sqrt_finite) +strong_alias(__ieee754_sqrt, __sqrt_dummy) +compat_symbol(libm, __sqrt_dummy, __sqrt_finite, GLIBC_2_15) +#endif +#if SHLIB_COMPAT (libm, GLIBC_2_18, GLIBC_2_31) +compat_symbol(libm, __ieee754_sqrt, __sqrt_finite, GLIBC_2_18) #endif diff --git a/sysdeps/alpha/alphaev6/fpu/e_sqrtf.S b/sysdeps/alpha/alphaev6/fpu/e_sqrtf.S index e537fb20af..36e04cce38 100644 --- a/sysdeps/alpha/alphaev6/fpu/e_sqrtf.S +++ b/sysdeps/alpha/alphaev6/fpu/e_sqrtf.S @@ -45,9 +45,9 @@ ENTRY(__ieee754_sqrtf) END(__ieee754_sqrtf) #if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18) -strong_alias(__ieee754_sqrtf, __sqrtf_finite1) -compat_symbol(libm, __sqrtf_finite1, __sqrtf_finite, GLIBC_2_15) -versioned_symbol(libm, __ieee754_sqrtf, __sqrtf_finite, GLIBC_2_18) -#else -strong_alias(__ieee754_sqrtf, __sqrtf_finite) +strong_alias(__ieee754_sqrtf, __sqrtf_dummy) +compat_symbol(libm, __sqrtf_dummy, __sqrtf_finite, GLIBC_2_15) +#endif +#if SHLIB_COMPAT (libm, GLIBC_2_18, GLIBC_2_31) +compat_symbol(libm, __ieee754_sqrtf, __sqrtf_finite, GLIBC_2_18) #endif diff --git a/sysdeps/alpha/e_sqrtl.c b/sysdeps/alpha/e_sqrtl.c index 1c73f32257..872efa72b6 100644 --- a/sysdeps/alpha/e_sqrtl.c +++ b/sysdeps/alpha/e_sqrtl.c @@ -43,7 +43,5 @@ __ieee754_sqrtl (const long double a) straight-forward as just adding the alias, since a generic Versions file includes the 2.15 version and the linker uses the first one it sees. */ #if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18) -versioned_symbol (libm, __ieee754_sqrtl, __sqrtl_finite, GLIBC_2_18); -#else -strong_alias(__ieee754_sqrtl, __sqrtl_finite) +compat_symbol (libm, __ieee754_sqrtl, __sqrtl_finite, GLIBC_2_18); #endif diff --git a/sysdeps/alpha/fpu/e_sqrt.c b/sysdeps/alpha/fpu/e_sqrt.c index 645330852a..4cf2ad693a 100644 --- a/sysdeps/alpha/fpu/e_sqrt.c +++ b/sysdeps/alpha/fpu/e_sqrt.c @@ -158,30 +158,29 @@ $fixup: \n\ \n\ .end __ieee754_sqrt"); -/* Avoid the __sqrt_finite alias that dbl-64/e_sqrt.c would give... */ -#undef strong_alias -#define strong_alias(a,b) - -/* ... defining our own. */ #if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18) -asm (".global __sqrt_finite1; __sqrt_finite1 = __ieee754_sqrt"); +asm (".global __sqrt_dummy; __sqrt_dummy = __ieee754_sqrt"); #else -asm (".global __sqrt_finite; __sqrt_finite = __ieee754_sqrt"); +asm (".global __sqrt_finite; __sqrt_finite = __ieee754_sqrt"); #endif static double __full_ieee754_sqrt(double) __attribute_used__; #define __ieee754_sqrt __full_ieee754_sqrt #elif SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18) -# define __sqrt_finite __sqrt_finite1 + +strong_alias (__ieee754_sqrt, __sqrt_dummy) +#define __ieee754_sqrt __ieee754_sqrt + #endif /* _IEEE_FP_INEXACT */ #include <sysdeps/ieee754/dbl-64/e_sqrt.c> +#undef __ieee754_sqrt /* Work around forgotten symbol in alphaev6 build. */ #if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18) -# undef __sqrt_finite -# undef __ieee754_sqrt -compat_symbol (libm, __sqrt_finite1, __sqrt_finite, GLIBC_2_15); -versioned_symbol (libm, __ieee754_sqrt, __sqrt_finite, GLIBC_2_18); +compat_symbol (libm, __sqrt_dummy, __sqrt_finite, GLIBC_2_15); +#endif +#if SHLIB_COMPAT (libm, GLIBC_2_18, GLIBC_2_31) +compat_symbol (libm, __ieee754_sqrt, __sqrt_finite, GLIBC_2_18); #endif diff --git a/sysdeps/alpha/fpu/e_sqrtf.c b/sysdeps/alpha/fpu/e_sqrtf.c index ad523f5cf2..eb3f968576 100644 --- a/sysdeps/alpha/fpu/e_sqrtf.c +++ b/sysdeps/alpha/fpu/e_sqrtf.c @@ -1,14 +1,13 @@ #include <shlib-compat.h> -#if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18) -# define __sqrtf_finite __sqrtf_finite1 -#endif - +#define __ieee754_sqrtf __ieee754_sqrtf #include <sysdeps/ieee754/flt-32/e_sqrtf.c> /* Work around forgotten symbol in alphaev6 build. */ #if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18) -# undef __sqrtf_finite -compat_symbol (libm, __sqrtf_finite1, __sqrtf_finite, GLIBC_2_15); -versioned_symbol (libm, __ieee754_sqrtf, __sqrtf_finite, GLIBC_2_18); +strong_alias(__ieee754_sqrtf, __sqrtf_dummy) +compat_symbol (libm, __sqrtf_dummy, __sqrtf_finite, GLIBC_2_15); +#endif +#if SHLIB_COMPAT (libm, GLIBC_2_18, GLIBC_2_31) +compat_symbol (libm, __ieee754_sqrtf, __sqrtf_finite, GLIBC_2_18); #endif diff --git a/sysdeps/arm/e_sqrt.c b/sysdeps/arm/e_sqrt.c index 065cbdba57..d264c4263b 100644 --- a/sysdeps/arm/e_sqrt.c +++ b/sysdeps/arm/e_sqrt.c @@ -26,6 +26,7 @@ /* Use VFP square root instruction. */ # include <math.h> # include <sysdep.h> +# include <libm-alias-finite.h> double __ieee754_sqrt (double x) @@ -40,6 +41,6 @@ __ieee754_sqrt (double x) # endif return ret; } -strong_alias (__ieee754_sqrt, __sqrt_finite) +libm_alias_finite (__ieee754_sqrt, __sqrt) #endif diff --git a/sysdeps/arm/e_sqrtf.c b/sysdeps/arm/e_sqrtf.c index 80fead1023..c3f31119a3 100644 --- a/sysdeps/arm/e_sqrtf.c +++ b/sysdeps/arm/e_sqrtf.c @@ -26,6 +26,7 @@ /* Use VFP square root instruction. */ # include <math.h> # include <sysdep.h> +# include <libm-alias-finite.h> float __ieee754_sqrtf (float x) @@ -40,6 +41,6 @@ __ieee754_sqrtf (float x) # endif return ret; } -strong_alias (__ieee754_sqrtf, __sqrtf_finite) +libm_alias_finite (__ieee754_sqrtf, __sqrtf) #endif diff --git a/sysdeps/generic/math-type-macros.h b/sysdeps/generic/math-type-macros.h index 08d8125fc6..0309dd29e1 100644 --- a/sysdeps/generic/math-type-macros.h +++ b/sysdeps/generic/math-type-macros.h @@ -75,8 +75,8 @@ #endif #ifndef declare_mgen_finite_alias_x -#define declare_mgen_finite_alias_x(from, to) \ - strong_alias (from, to ## _finite) +#define declare_mgen_finite_alias_x(from, to) \ + libm_alias_finite (from, to) #endif #ifndef declare_mgen_finite_alias_s @@ -117,6 +117,7 @@ /* Needed to evaluate M_MANT_DIG below. */ #include <float.h> +#include <libm-alias-finite.h> /* Use a special epsilon value for IBM long double to avoid spurious overflows/underflows. */ diff --git a/sysdeps/i386/fpu/e_acos.S b/sysdeps/i386/fpu/e_acos.S index 586c7fc406..9d9825da73 100644 --- a/sysdeps/i386/fpu/e_acos.S +++ b/sysdeps/i386/fpu/e_acos.S @@ -4,6 +4,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> RCSID("$NetBSD: e_acos.S,v 1.4 1995/05/08 23:44:37 jtc Exp $") @@ -22,4 +23,4 @@ ENTRY(__ieee754_acos) fpatan /* atan (sqrt(1 - x^2) / x) */ ret END (__ieee754_acos) -strong_alias (__ieee754_acos, __acos_finite) +libm_alias_finite (__ieee754_acos, __acos) diff --git a/sysdeps/i386/fpu/e_acosf.S b/sysdeps/i386/fpu/e_acosf.S index 54930af8b2..cf2b75daf1 100644 --- a/sysdeps/i386/fpu/e_acosf.S +++ b/sysdeps/i386/fpu/e_acosf.S @@ -5,6 +5,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> RCSID("$NetBSD: $") @@ -21,4 +22,4 @@ ENTRY(__ieee754_acosf) fpatan ret END (__ieee754_acosf) -strong_alias (__ieee754_acosf, __acosf_finite) +libm_alias_finite (__ieee754_acosf, __acosf) diff --git a/sysdeps/i386/fpu/e_acosh.S b/sysdeps/i386/fpu/e_acosh.S index 86298af181..23ee9f5087 100644 --- a/sysdeps/i386/fpu/e_acosh.S +++ b/sysdeps/i386/fpu/e_acosh.S @@ -18,6 +18,7 @@ <https://www.gnu.org/licenses/>. */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -98,4 +99,4 @@ ENTRY(__ieee754_acosh) fdiv %st, %st(0) ret END(__ieee754_acosh) -strong_alias (__ieee754_acosh, __acosh_finite) +libm_alias_finite (__ieee754_acosh, __acosh) diff --git a/sysdeps/i386/fpu/e_acoshf.S b/sysdeps/i386/fpu/e_acoshf.S index 2e1478dddf..919f090ade 100644 --- a/sysdeps/i386/fpu/e_acoshf.S +++ b/sysdeps/i386/fpu/e_acoshf.S @@ -18,6 +18,7 @@ <https://www.gnu.org/licenses/>. */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -98,4 +99,4 @@ ENTRY(__ieee754_acoshf) fdiv %st, %st(0) ret END(__ieee754_acoshf) -strong_alias (__ieee754_acoshf, __acoshf_finite) +libm_alias_finite (__ieee754_acoshf, __acoshf) diff --git a/sysdeps/i386/fpu/e_acoshl.S b/sysdeps/i386/fpu/e_acoshl.S index fe7dd4b685..d22a536655 100644 --- a/sysdeps/i386/fpu/e_acoshl.S +++ b/sysdeps/i386/fpu/e_acoshl.S @@ -18,6 +18,7 @@ <https://www.gnu.org/licenses/>. */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -104,4 +105,4 @@ ENTRY(__ieee754_acoshl) fdiv %st, %st(0) ret END(__ieee754_acoshl) -strong_alias (__ieee754_acoshl, __acoshl_finite) +libm_alias_finite (__ieee754_acoshl, __acoshl) diff --git a/sysdeps/i386/fpu/e_acosl.c b/sysdeps/i386/fpu/e_acosl.c index ab08931924..b99088ac04 100644 --- a/sysdeps/i386/fpu/e_acosl.c +++ b/sysdeps/i386/fpu/e_acosl.c @@ -6,6 +6,7 @@ */ #include <math_private.h> +#include <libm-alias-finite.h> long double __ieee754_acosl (long double x) @@ -26,4 +27,4 @@ __ieee754_acosl (long double x) : "=t" (res) : "0" (x) : "st(1)"); return res; } -strong_alias (__ieee754_acosl, __acosl_finite) +libm_alias_finite (__ieee754_acosl, __acosl) diff --git a/sysdeps/i386/fpu/e_asin.S b/sysdeps/i386/fpu/e_asin.S index 39c8b47da4..74028c7c9a 100644 --- a/sysdeps/i386/fpu/e_asin.S +++ b/sysdeps/i386/fpu/e_asin.S @@ -5,6 +5,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> RCSID("$NetBSD: e_asin.S,v 1.4 1995/05/08 23:45:40 jtc Exp $") @@ -35,4 +36,4 @@ ENTRY(__ieee754_asin) DBL_CHECK_FORCE_UFLOW ret END (__ieee754_asin) -strong_alias (__ieee754_asin, __asin_finite) +libm_alias_finite (__ieee754_asin, __asin) diff --git a/sysdeps/i386/fpu/e_asinf.S b/sysdeps/i386/fpu/e_asinf.S index 1102bdedfd..7e378433d5 100644 --- a/sysdeps/i386/fpu/e_asinf.S +++ b/sysdeps/i386/fpu/e_asinf.S @@ -6,6 +6,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> RCSID("$NetBSD: $") @@ -36,4 +37,4 @@ ENTRY(__ieee754_asinf) FLT_CHECK_FORCE_UFLOW ret END (__ieee754_asinf) -strong_alias (__ieee754_asinf, __asinf_finite) +libm_alias_finite (__ieee754_asinf, __asinf) diff --git a/sysdeps/i386/fpu/e_atan2.S b/sysdeps/i386/fpu/e_atan2.S index 25f43bb5a1..d6b550f4a1 100644 --- a/sysdeps/i386/fpu/e_atan2.S +++ b/sysdeps/i386/fpu/e_atan2.S @@ -5,6 +5,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> RCSID("$NetBSD: e_atan2.S,v 1.4 1995/05/08 23:46:28 jtc Exp $") @@ -27,4 +28,4 @@ ENTRY(__ieee754_atan2) DBL_CHECK_FORCE_UFLOW_NARROW ret END (__ieee754_atan2) -strong_alias (__ieee754_atan2, __atan2_finite) +libm_alias_finite (__ieee754_atan2, __atan2) diff --git a/sysdeps/i386/fpu/e_atan2f.S b/sysdeps/i386/fpu/e_atan2f.S index 2bc909a762..d237fee077 100644 --- a/sysdeps/i386/fpu/e_atan2f.S +++ b/sysdeps/i386/fpu/e_atan2f.S @@ -5,6 +5,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> RCSID("$NetBSD: e_atan2f.S,v 1.1 1995/05/08 23:35:10 jtc Exp $") @@ -27,4 +28,4 @@ ENTRY(__ieee754_atan2f) FLT_CHECK_FORCE_UFLOW_NARROW ret END (__ieee754_atan2f) -strong_alias (__ieee754_atan2f, __atan2f_finite) +libm_alias_finite (__ieee754_atan2f, __atan2f) diff --git a/sysdeps/i386/fpu/e_atan2l.c b/sysdeps/i386/fpu/e_atan2l.c index 9f88bfcc08..531f9b2b69 100644 --- a/sysdeps/i386/fpu/e_atan2l.c +++ b/sysdeps/i386/fpu/e_atan2l.c @@ -6,6 +6,7 @@ */ #include <math_private.h> +#include <libm-alias-finite.h> long double __ieee754_atan2l (long double y, long double x) @@ -16,4 +17,4 @@ __ieee754_atan2l (long double y, long double x) return res; } -strong_alias (__ieee754_atan2l, __atan2l_finite) +libm_alias_finite (__ieee754_atan2l, __atan2l) diff --git a/sysdeps/i386/fpu/e_atanh.S b/sysdeps/i386/fpu/e_atanh.S index 104830d4a0..f75b3e1994 100644 --- a/sysdeps/i386/fpu/e_atanh.S +++ b/sysdeps/i386/fpu/e_atanh.S @@ -19,6 +19,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> .section .rodata @@ -109,4 +110,4 @@ ENTRY(__ieee754_atanh) 6: fldl 4(%esp) ret END(__ieee754_atanh) -strong_alias (__ieee754_atanh, __atanh_finite) +libm_alias_finite (__ieee754_atanh, __atanh) diff --git a/sysdeps/i386/fpu/e_atanhf.S b/sysdeps/i386/fpu/e_atanhf.S index e9bc5ffbca..42879a5168 100644 --- a/sysdeps/i386/fpu/e_atanhf.S +++ b/sysdeps/i386/fpu/e_atanhf.S @@ -19,6 +19,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> .section .rodata @@ -106,4 +107,4 @@ ENTRY(__ieee754_atanhf) 5: flds 4(%esp) ret END(__ieee754_atanhf) -strong_alias (__ieee754_atanhf, __atanhf_finite) +libm_alias_finite (__ieee754_atanhf, __atanhf) diff --git a/sysdeps/i386/fpu/e_atanhl.S b/sysdeps/i386/fpu/e_atanhl.S index 0f537c3bf8..c8bb38287b 100644 --- a/sysdeps/i386/fpu/e_atanhl.S +++ b/sysdeps/i386/fpu/e_atanhl.S @@ -18,6 +18,7 @@ <https://www.gnu.org/licenses/>. */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata @@ -124,4 +125,4 @@ ENTRY(__ieee754_atanhl) fadd %st(0) ret END(__ieee754_atanhl) -strong_alias (__ieee754_atanhl, __atanhl_finite) +libm_alias_finite (__ieee754_atanhl, __atanhl) diff --git a/sysdeps/i386/fpu/e_exp.S b/sysdeps/i386/fpu/e_exp.S index a7e7f13f6f..b9fd62f1ce 100644 --- a/sysdeps/i386/fpu/e_exp.S +++ b/sysdeps/i386/fpu/e_exp.S @@ -5,6 +5,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> DEFINE_DBL_MIN @@ -71,3 +72,4 @@ ENTRY(__exp_finite) DBL_NARROW_EVAL_UFLOW_NONNEG ret END(__exp_finite) +libm_alias_finite (__exp_finite, __exp) diff --git a/sysdeps/i386/fpu/e_exp10.S b/sysdeps/i386/fpu/e_exp10.S index acb5160a3f..2758a73184 100644 --- a/sysdeps/i386/fpu/e_exp10.S +++ b/sysdeps/i386/fpu/e_exp10.S @@ -4,6 +4,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> DEFINE_DBL_MIN @@ -50,4 +51,4 @@ ENTRY(__ieee754_exp10) fldz /* Set result to 0. */ 2: ret END (__ieee754_exp10) -strong_alias (__ieee754_exp10, __exp10_finite) +libm_alias_finite (__ieee754_exp10, __exp10) diff --git a/sysdeps/i386/fpu/e_exp10f.S b/sysdeps/i386/fpu/e_exp10f.S index 1812b34398..196ce8744a 100644 --- a/sysdeps/i386/fpu/e_exp10f.S +++ b/sysdeps/i386/fpu/e_exp10f.S @@ -4,6 +4,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> DEFINE_FLT_MIN @@ -50,4 +51,4 @@ ENTRY(__ieee754_exp10f) fldz /* Set result to 0. */ 2: ret END (__ieee754_exp10f) -strong_alias (__ieee754_exp10f, __exp10f_finite) +libm_alias_finite (__ieee754_exp10f, __exp10f) diff --git a/sysdeps/i386/fpu/e_exp2.S b/sysdeps/i386/fpu/e_exp2.S index fc16a96053..0939f7d071 100644 --- a/sysdeps/i386/fpu/e_exp2.S +++ b/sysdeps/i386/fpu/e_exp2.S @@ -6,6 +6,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> DEFINE_DBL_MIN @@ -49,4 +50,4 @@ ENTRY(__ieee754_exp2) fldz /* Set result to 0. */ 2: ret END (__ieee754_exp2) -strong_alias (__ieee754_exp2, __exp2_finite) +libm_alias_finite (__ieee754_exp2, __exp2) diff --git a/sysdeps/i386/fpu/e_exp2l.S b/sysdeps/i386/fpu/e_exp2l.S index c4cb73d589..6cf28a793b 100644 --- a/sysdeps/i386/fpu/e_exp2l.S +++ b/sysdeps/i386/fpu/e_exp2l.S @@ -6,6 +6,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> DEFINE_LDBL_MIN @@ -57,4 +58,4 @@ ENTRY(__ieee754_exp2l) fldz /* Set result to 0. */ 2: ret END (__ieee754_exp2l) -strong_alias (__ieee754_exp2l, __exp2l_finite) +libm_alias_finite (__ieee754_exp2l, __exp2l) diff --git a/sysdeps/i386/fpu/e_expl.S b/sysdeps/i386/fpu/e_expl.S index 18a627e9da..a7c459e2c0 100644 --- a/sysdeps/i386/fpu/e_expl.S +++ b/sysdeps/i386/fpu/e_expl.S @@ -25,18 +25,16 @@ #include <libm-alias-ldouble.h> #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> #ifdef USE_AS_EXP10L # define IEEE754_EXPL __ieee754_exp10l -# define EXPL_FINITE __exp10l_finite # define FLDLOG fldl2t #elif defined USE_AS_EXPM1L # define IEEE754_EXPL __expm1l -# undef EXPL_FINITE # define FLDLOG fldl2e #else # define IEEE754_EXPL __ieee754_expl -# define EXPL_FINITE __expl_finite # define FLDLOG fldl2e #endif @@ -219,9 +217,12 @@ ENTRY(IEEE754_EXPL) fadd %st ret END(IEEE754_EXPL) + #ifdef USE_AS_EXPM1L libm_hidden_def (__expm1l) libm_alias_ldouble (__expm1, expm1) +#elif defined USE_AS_EXP10L +libm_alias_finite (__ieee754_exp10l, __exp10l) #else -strong_alias (IEEE754_EXPL, EXPL_FINITE) +libm_alias_finite (__ieee754_expl, __expl) #endif diff --git a/sysdeps/i386/fpu/e_fmod.S b/sysdeps/i386/fpu/e_fmod.S index 26b3acc392..93f20e5c4d 100644 --- a/sysdeps/i386/fpu/e_fmod.S +++ b/sysdeps/i386/fpu/e_fmod.S @@ -4,6 +4,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> ENTRY(__ieee754_fmod) fldl 12(%esp) @@ -15,4 +16,4 @@ ENTRY(__ieee754_fmod) fstp %st(1) ret END (__ieee754_fmod) -strong_alias (__ieee754_fmod, __fmod_finite) +libm_alias_finite (__ieee754_fmod, __fmod) diff --git a/sysdeps/i386/fpu/e_fmodf.S b/sysdeps/i386/fpu/e_fmodf.S index ece4d98427..8adc8d5c03 100644 --- a/sysdeps/i386/fpu/e_fmodf.S +++ b/sysdeps/i386/fpu/e_fmodf.S @@ -5,6 +5,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> ENTRY(__ieee754_fmodf) flds 8(%esp) @@ -16,4 +17,4 @@ ENTRY(__ieee754_fmodf) fstp %st(1) ret END(__ieee754_fmodf) -strong_alias (__ieee754_fmodf, __fmodf_finite) +libm_alias_finite (__ieee754_fmodf, __fmodf) diff --git a/sysdeps/i386/fpu/e_fmodl.c b/sysdeps/i386/fpu/e_fmodl.c index 49700ae8f6..44765398b7 100644 --- a/sysdeps/i386/fpu/e_fmodl.c +++ b/sysdeps/i386/fpu/e_fmodl.c @@ -6,6 +6,7 @@ */ #include <math_private.h> +#include <libm-alias-finite.h> long double __ieee754_fmodl (long double x, long double y) @@ -20,4 +21,4 @@ __ieee754_fmodl (long double x, long double y) : "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)"); return res; } -strong_alias (__ieee754_fmodl, __fmodl_finite) +libm_alias_finite (__ieee754_fmodl, __fmodl) diff --git a/sysdeps/i386/fpu/e_hypot.S b/sysdeps/i386/fpu/e_hypot.S index 310c04ecec..3301c4eb76 100644 --- a/sysdeps/i386/fpu/e_hypot.S +++ b/sysdeps/i386/fpu/e_hypot.S @@ -19,6 +19,7 @@ #include <sysdep.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> DEFINE_DBL_MIN @@ -72,4 +73,4 @@ ENTRY(__ieee754_hypot) jmp 2b END(__ieee754_hypot) -strong_alias (__ieee754_hypot, __hypot_finite) +libm_alias_finite (__ieee754_hypot, __hypot) diff --git a/sysdeps/i386/fpu/e_hypotf.S b/sysdeps/i386/fpu/e_hypotf.S index b9fb6fe537..a7345dce63 100644 --- a/sysdeps/i386/fpu/e_hypotf.S +++ b/sysdeps/i386/fpu/e_hypotf.S @@ -19,6 +19,7 @@ #include <sysdep.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> .text ENTRY(__ieee754_hypotf) @@ -61,4 +62,4 @@ ENTRY(__ieee754_hypotf) jmp 2b END(__ieee754_hypotf) -strong_alias (__ieee754_hypotf, __hypotf_finite) +libm_alias_finite (__ieee754_hypotf, __hypotf) diff --git a/sysdeps/i386/fpu/e_log.S b/sysdeps/i386/fpu/e_log.S index 335df22577..9d2195ecd4 100644 --- a/sysdeps/i386/fpu/e_log.S +++ b/sysdeps/i386/fpu/e_log.S @@ -6,6 +6,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -90,3 +91,4 @@ ENTRY(__log_finite) fyl2xp1 // log(x) ret END(__log_finite) +libm_alias_finite (__log_finite, __log) diff --git a/sysdeps/i386/fpu/e_log10.S b/sysdeps/i386/fpu/e_log10.S index 17277084ca..ead30d8992 100644 --- a/sysdeps/i386/fpu/e_log10.S +++ b/sysdeps/i386/fpu/e_log10.S @@ -6,6 +6,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -65,4 +66,4 @@ ENTRY(__ieee754_log10) fstp %st(1) ret END (__ieee754_log10) -strong_alias (__ieee754_log10, __log10_finite) +libm_alias_finite (__ieee754_log10, __log10) diff --git a/sysdeps/i386/fpu/e_log10f.S b/sysdeps/i386/fpu/e_log10f.S index 72a3b88251..54bc82d57f 100644 --- a/sysdeps/i386/fpu/e_log10f.S +++ b/sysdeps/i386/fpu/e_log10f.S @@ -7,6 +7,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -66,4 +67,4 @@ ENTRY(__ieee754_log10f) fstp %st(1) ret END (__ieee754_log10f) -strong_alias (__ieee754_log10f, __log10f_finite) +libm_alias_finite (__ieee754_log10f, __log10f) diff --git a/sysdeps/i386/fpu/e_log10l.S b/sysdeps/i386/fpu/e_log10l.S index 9326b19796..cd57a5d75f 100644 --- a/sysdeps/i386/fpu/e_log10l.S +++ b/sysdeps/i386/fpu/e_log10l.S @@ -8,6 +8,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -68,4 +69,4 @@ ENTRY(__ieee754_log10l) fadd %st(0) ret END(__ieee754_log10l) -strong_alias (__ieee754_log10l, __log10l_finite) +libm_alias_finite (__ieee754_log10l, __log10l) diff --git a/sysdeps/i386/fpu/e_log2.S b/sysdeps/i386/fpu/e_log2.S index 73ff0fffd3..57725cdb60 100644 --- a/sysdeps/i386/fpu/e_log2.S +++ b/sysdeps/i386/fpu/e_log2.S @@ -7,6 +7,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -66,4 +67,4 @@ ENTRY(__ieee754_log2) fstp %st(1) ret END (__ieee754_log2) -strong_alias (__ieee754_log2, __log2_finite) +libm_alias_finite (__ieee754_log2, __log2) diff --git a/sysdeps/i386/fpu/e_log2l.S b/sysdeps/i386/fpu/e_log2l.S index 73e62ea908..82decffe8a 100644 --- a/sysdeps/i386/fpu/e_log2l.S +++ b/sysdeps/i386/fpu/e_log2l.S @@ -7,6 +7,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -67,4 +68,4 @@ ENTRY(__ieee754_log2l) fadd %st(0) ret END (__ieee754_log2l) -strong_alias (__ieee754_log2l, __log2l_finite) +libm_alias_finite (__ieee754_log2l, __log2l) diff --git a/sysdeps/i386/fpu/e_logl.S b/sysdeps/i386/fpu/e_logl.S index 53127d704e..3e019cc911 100644 --- a/sysdeps/i386/fpu/e_logl.S +++ b/sysdeps/i386/fpu/e_logl.S @@ -6,7 +6,7 @@ */ #include <machine/asm.h> - +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -95,3 +95,4 @@ ENTRY(__logl_finite) fyl2xp1 // log(x) ret END(__logl_finite) +libm_alias_finite (__logl_finite, __logl) diff --git a/sysdeps/i386/fpu/e_pow.S b/sysdeps/i386/fpu/e_pow.S index 9751ed2d5b..da41ed1641 100644 --- a/sysdeps/i386/fpu/e_pow.S +++ b/sysdeps/i386/fpu/e_pow.S @@ -19,6 +19,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -453,4 +454,4 @@ ENTRY(__ieee754_pow) ret END(__ieee754_pow) -strong_alias (__ieee754_pow, __pow_finite) +libm_alias_finite (__ieee754_pow, __pow) diff --git a/sysdeps/i386/fpu/e_powl.S b/sysdeps/i386/fpu/e_powl.S index 260bbaad42..386ff57025 100644 --- a/sysdeps/i386/fpu/e_powl.S +++ b/sysdeps/i386/fpu/e_powl.S @@ -19,6 +19,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -456,4 +457,4 @@ ENTRY(__ieee754_powl) ret END(__ieee754_powl) -strong_alias (__ieee754_powl, __powl_finite) +libm_alias_finite (__ieee754_powl, __powl) diff --git a/sysdeps/i386/fpu/e_remainder.S b/sysdeps/i386/fpu/e_remainder.S index f7867aa90b..5b71e9198d 100644 --- a/sysdeps/i386/fpu/e_remainder.S +++ b/sysdeps/i386/fpu/e_remainder.S @@ -4,6 +4,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> ENTRY(__ieee754_remainder) fldl 12(%esp) @@ -15,4 +16,4 @@ ENTRY(__ieee754_remainder) fstp %st(1) ret END (__ieee754_remainder) -strong_alias (__ieee754_remainder, __remainder_finite) +libm_alias_finite (__ieee754_remainder, __remainder) diff --git a/sysdeps/i386/fpu/e_remainderf.S b/sysdeps/i386/fpu/e_remainderf.S index cfd390bc69..2257db3580 100644 --- a/sysdeps/i386/fpu/e_remainderf.S +++ b/sysdeps/i386/fpu/e_remainderf.S @@ -4,6 +4,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> ENTRY(__ieee754_remainderf) flds 8(%esp) @@ -15,4 +16,4 @@ ENTRY(__ieee754_remainderf) fstp %st(1) ret END (__ieee754_remainderf) -strong_alias (__ieee754_remainderf, __remainderf_finite) +libm_alias_finite (__ieee754_remainderf, __remainderf) diff --git a/sysdeps/i386/fpu/e_remainderl.S b/sysdeps/i386/fpu/e_remainderl.S index 5ec23a37a3..551660c1e9 100644 --- a/sysdeps/i386/fpu/e_remainderl.S +++ b/sysdeps/i386/fpu/e_remainderl.S @@ -6,6 +6,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> ENTRY(__ieee754_remainderl) fldt 16(%esp) @@ -17,4 +18,4 @@ ENTRY(__ieee754_remainderl) fstp %st(1) ret END (__ieee754_remainderl) -strong_alias (__ieee754_remainderl, __remainderl_finite) +libm_alias_finite (__ieee754_remainderl, __remainderl) diff --git a/sysdeps/i386/fpu/e_scalb.S b/sysdeps/i386/fpu/e_scalb.S index 370924c29f..5a2f566cdf 100644 --- a/sysdeps/i386/fpu/e_scalb.S +++ b/sysdeps/i386/fpu/e_scalb.S @@ -7,6 +7,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> .section .rodata @@ -97,4 +98,4 @@ ENTRY(__ieee754_scalb) fdiv %st ret END(__ieee754_scalb) -strong_alias (__ieee754_scalb, __scalb_finite) +libm_alias_finite (__ieee754_scalb, __scalb) diff --git a/sysdeps/i386/fpu/e_scalbf.S b/sysdeps/i386/fpu/e_scalbf.S index 4f2dfa3acf..ef7bd9748e 100644 --- a/sysdeps/i386/fpu/e_scalbf.S +++ b/sysdeps/i386/fpu/e_scalbf.S @@ -8,6 +8,7 @@ #include <machine/asm.h> #include <i386-math-asm.h> +#include <libm-alias-finite.h> .section .rodata @@ -99,4 +100,4 @@ ENTRY(__ieee754_scalbf) fdiv %st ret END(__ieee754_scalbf) -strong_alias (__ieee754_scalbf, __scalbf_finite) +libm_alias_finite (__ieee754_scalbf, __scalbf) diff --git a/sysdeps/i386/fpu/e_scalbl.S b/sysdeps/i386/fpu/e_scalbl.S index 896f599cb0..790f07a907 100644 --- a/sysdeps/i386/fpu/e_scalbl.S +++ b/sysdeps/i386/fpu/e_scalbl.S @@ -8,6 +8,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata @@ -87,4 +88,4 @@ ENTRY(__ieee754_scalbl) fdiv %st ret END(__ieee754_scalbl) -strong_alias (__ieee754_scalbl, __scalbl_finite) +libm_alias_finite (__ieee754_scalbl, __scalbl) diff --git a/sysdeps/i386/fpu/e_sqrt.S b/sysdeps/i386/fpu/e_sqrt.S index fba5833a9a..191122b676 100644 --- a/sysdeps/i386/fpu/e_sqrt.S +++ b/sysdeps/i386/fpu/e_sqrt.S @@ -4,6 +4,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> ENTRY(__ieee754_sqrt) fldl 4(%esp) @@ -20,4 +21,4 @@ ENTRY(__ieee754_sqrt) cfi_adjust_cfa_offset (-8) ret END (__ieee754_sqrt) -strong_alias (__ieee754_sqrt, __sqrt_finite) +libm_alias_finite (__ieee754_sqrt, __sqrt) diff --git a/sysdeps/i386/fpu/e_sqrtf.S b/sysdeps/i386/fpu/e_sqrtf.S index 6f7e4b015f..9f34be71a8 100644 --- a/sysdeps/i386/fpu/e_sqrtf.S +++ b/sysdeps/i386/fpu/e_sqrtf.S @@ -4,10 +4,11 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> ENTRY(__ieee754_sqrtf) flds 4(%esp) fsqrt ret END (__ieee754_sqrtf) -strong_alias (__ieee754_sqrtf, __sqrtf_finite) +libm_alias_finite (__ieee754_sqrtf, __sqrtf) diff --git a/sysdeps/i386/fpu/e_sqrtl.c b/sysdeps/i386/fpu/e_sqrtl.c index 41bcd7eeb7..8f284dd75c 100644 --- a/sysdeps/i386/fpu/e_sqrtl.c +++ b/sysdeps/i386/fpu/e_sqrtl.c @@ -6,6 +6,7 @@ */ #include <math_private.h> +#include <libm-alias-finite.h> #undef __ieee754_sqrtl long double @@ -17,4 +18,4 @@ __ieee754_sqrtl (long double x) return res; } -strong_alias (__ieee754_sqrtl, __sqrtl_finite) +libm_alias_finite (__ieee754_sqrtl, __sqrtl) diff --git a/sysdeps/i386/i686/fpu/e_log.S b/sysdeps/i386/i686/fpu/e_log.S index 73060b088c..3ac3dca208 100644 --- a/sysdeps/i386/i686/fpu/e_log.S +++ b/sysdeps/i386/i686/fpu/e_log.S @@ -6,7 +6,7 @@ */ #include <machine/asm.h> - +#include <libm-alias-finite.h> .text ENTRY(__ieee754_log) @@ -27,3 +27,4 @@ ENTRY(__log_finite) fyl2x // log(x) ret END(__log_finite) +libm_alias_finite (__log_finite, __log) diff --git a/sysdeps/i386/i686/fpu/e_logl.S b/sysdeps/i386/i686/fpu/e_logl.S index 7e3bc8d817..77ec373abc 100644 --- a/sysdeps/i386/i686/fpu/e_logl.S +++ b/sysdeps/i386/i686/fpu/e_logl.S @@ -8,6 +8,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -92,3 +93,4 @@ ENTRY(__logl_finite) fyl2xp1 // log(x) ret END(__logl_finite) +libm_alias_finite (__logl_finite, __logl) diff --git a/sysdeps/i386/i686/fpu/multiarch/e_exp2f.c b/sysdeps/i386/i686/fpu/multiarch/e_exp2f.c index eaad229451..4647c844ae 100644 --- a/sysdeps/i386/i686/fpu/multiarch/e_exp2f.c +++ b/sysdeps/i386/i686/fpu/multiarch/e_exp2f.c @@ -20,12 +20,12 @@ extern float __redirect_exp2f (float); #define SYMBOL_NAME exp2f #include "ifunc-sse2.h" +#include <libm-alias-finite.h> libc_ifunc_redirected (__redirect_exp2f, __exp2f, IFUNC_SELECTOR ()); #include <libm-alias-float.h> #ifdef SHARED -# include <shlib-compat.h> versioned_symbol (libm, __exp2f, exp2f, GLIBC_2_27); libm_alias_float_other (__exp2, exp2) #else @@ -33,7 +33,7 @@ libm_alias_float (__exp2, exp2) #endif strong_alias (__exp2f, __ieee754_exp2f) -strong_alias (__exp2f, __exp2f_finite) +libm_alias_finite (__ieee754_exp2f, __exp2f) #define __exp2f __exp2f_ia32 #include <sysdeps/ieee754/flt-32/e_exp2f.c> diff --git a/sysdeps/i386/i686/fpu/multiarch/e_expf.c b/sysdeps/i386/i686/fpu/multiarch/e_expf.c index b6cdb3ece0..3b3df43213 100644 --- a/sysdeps/i386/i686/fpu/multiarch/e_expf.c +++ b/sysdeps/i386/i686/fpu/multiarch/e_expf.c @@ -20,6 +20,7 @@ extern float __redirect_expf (float); #define SYMBOL_NAME expf #include "ifunc-sse2.h" +#include <libm-alias-finite.h> libc_ifunc_redirected (__redirect_expf, __expf, IFUNC_SELECTOR ()); @@ -28,7 +29,6 @@ libc_ifunc_redirected (__redirect_expf, __expf, IFUNC_SELECTOR ()); __hidden_ver1 (__expf_ia32, __GI___expf, __redirect_expf) __attribute__ ((visibility ("hidden"))) __THROW; -# include <shlib-compat.h> versioned_symbol (libm, __expf, expf, GLIBC_2_27); libm_alias_float_other (__exp, exp) #else @@ -36,7 +36,7 @@ libm_alias_float (__exp, exp) #endif strong_alias (__expf, __ieee754_expf) -strong_alias (__expf, __expf_finite) +libm_alias_finite (__ieee754_expf, __expf) #define __expf __expf_ia32 #include <sysdeps/ieee754/flt-32/e_expf.c> diff --git a/sysdeps/i386/i686/fpu/multiarch/e_log2f.c b/sysdeps/i386/i686/fpu/multiarch/e_log2f.c index ef720236d0..e21cadadf5 100644 --- a/sysdeps/i386/i686/fpu/multiarch/e_log2f.c +++ b/sysdeps/i386/i686/fpu/multiarch/e_log2f.c @@ -20,6 +20,7 @@ extern float __redirect_log2f (float); #define SYMBOL_NAME log2f #include "ifunc-sse2.h" +#include <libm-alias-finite.h> libc_ifunc_redirected (__redirect_log2f, __log2f, IFUNC_SELECTOR ()); @@ -28,7 +29,6 @@ libc_ifunc_redirected (__redirect_log2f, __log2f, IFUNC_SELECTOR ()); __hidden_ver1 (__log2f_ia32, __GI___log2f, __redirect_log2f) __attribute__ ((visibility ("hidden"))) __THROW; -# include <shlib-compat.h> versioned_symbol (libm, __log2f, log2f, GLIBC_2_27); libm_alias_float_other (__log2, log2) #else @@ -36,7 +36,7 @@ libm_alias_float (__log2, log2) #endif strong_alias (__log2f, __ieee754_log2f) -strong_alias (__log2f, __log2f_finite) +libm_alias_finite (__ieee754_log2f, __log2f) #define __log2f __log2f_ia32 #include <sysdeps/ieee754/flt-32/e_log2f.c> diff --git a/sysdeps/i386/i686/fpu/multiarch/e_logf.c b/sysdeps/i386/i686/fpu/multiarch/e_logf.c index e08cfcb7c9..46d3dab13f 100644 --- a/sysdeps/i386/i686/fpu/multiarch/e_logf.c +++ b/sysdeps/i386/i686/fpu/multiarch/e_logf.c @@ -20,6 +20,7 @@ extern float __redirect_logf (float); #define SYMBOL_NAME logf #include "ifunc-sse2.h" +#include <libm-alias-finite.h> libc_ifunc_redirected (__redirect_logf, __logf, IFUNC_SELECTOR ()); @@ -28,7 +29,6 @@ libc_ifunc_redirected (__redirect_logf, __logf, IFUNC_SELECTOR ()); __hidden_ver1 (__logf_ia32, __GI___logf, __redirect_logf) __attribute__ ((visibility ("hidden"))) __THROW; -# include <shlib-compat.h> versioned_symbol (libm, __logf, logf, GLIBC_2_27); libm_alias_float_other (__log, log) #else @@ -36,7 +36,7 @@ libm_alias_float (__log, log) #endif strong_alias (__logf, __ieee754_logf) -strong_alias (__logf, __logf_finite) +libm_alias_finite (__ieee754_logf, __logf) #define __logf __logf_ia32 #include <sysdeps/ieee754/flt-32/e_logf.c> diff --git a/sysdeps/i386/i686/fpu/multiarch/e_powf.c b/sysdeps/i386/i686/fpu/multiarch/e_powf.c index a83b71578d..1d6a933223 100644 --- a/sysdeps/i386/i686/fpu/multiarch/e_powf.c +++ b/sysdeps/i386/i686/fpu/multiarch/e_powf.c @@ -23,6 +23,7 @@ #define SYMBOL_NAME powf #include "ifunc-sse2.h" +#include <libm-alias-finite.h> libc_ifunc_redirected (__redirect_powf, __powf, IFUNC_SELECTOR ()); @@ -31,7 +32,6 @@ libc_ifunc_redirected (__redirect_powf, __powf, IFUNC_SELECTOR ()); __hidden_ver1 (__powf_ia32, __GI___powf, __redirect_powf) __attribute__ ((visibility ("hidden"))); -# include <shlib-compat.h> versioned_symbol (libm, __powf, powf, GLIBC_2_27); libm_alias_float_other (__pow, pow) #else @@ -39,7 +39,7 @@ libm_alias_float (__pow, pow) #endif strong_alias (__powf, __ieee754_powf) -strong_alias (__powf, __powf_finite) +libm_alias_finite (__ieee754_powf, __powf) #define __powf __powf_ia32 #include <sysdeps/ieee754/flt-32/e_powf.c> diff --git a/sysdeps/ieee754/dbl-64/e_acosh.c b/sysdeps/ieee754/dbl-64/e_acosh.c index fe0c375f00..75df0ab5ef 100644 --- a/sysdeps/ieee754/dbl-64/e_acosh.c +++ b/sysdeps/ieee754/dbl-64/e_acosh.c @@ -26,6 +26,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const double one = 1.0, @@ -66,4 +67,4 @@ __ieee754_acosh (double x) return __log1p (t + sqrt (2.0 * t + t * t)); } } -strong_alias (__ieee754_acosh, __acosh_finite) +libm_alias_finite (__ieee754_acosh, __acosh) diff --git a/sysdeps/ieee754/dbl-64/e_asin.c b/sysdeps/ieee754/dbl-64/e_asin.c index d880cce41c..eac3d27fda 100644 --- a/sysdeps/ieee754/dbl-64/e_asin.c +++ b/sysdeps/ieee754/dbl-64/e_asin.c @@ -43,6 +43,7 @@ #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> #ifndef SECTION # define SECTION @@ -334,7 +335,7 @@ __ieee754_asin(double x){ } } #ifndef __ieee754_asin -strong_alias (__ieee754_asin, __asin_finite) +libm_alias_finite (__ieee754_asin, __asin) #endif /*******************************************************************/ @@ -644,5 +645,5 @@ __ieee754_acos(double x) } } #ifndef __ieee754_acos -strong_alias (__ieee754_acos, __acos_finite) +libm_alias_finite (__ieee754_acos, __acos) #endif diff --git a/sysdeps/ieee754/dbl-64/e_atan2.c b/sysdeps/ieee754/dbl-64/e_atan2.c index 9c21831caf..0a7a07aa3d 100644 --- a/sysdeps/ieee754/dbl-64/e_atan2.c +++ b/sysdeps/ieee754/dbl-64/e_atan2.c @@ -48,6 +48,7 @@ #include <math_private.h> #include <fenv_private.h> #include <stap-probe.h> +#include <libm-alias-finite.h> #ifndef SECTION # define SECTION @@ -570,7 +571,7 @@ __ieee754_atan2 (double y, double x) } #ifndef __ieee754_atan2 -strong_alias (__ieee754_atan2, __atan2_finite) +libm_alias_finite (__ieee754_atan2, __atan2) #endif /* Treat the Denormalized case */ diff --git a/sysdeps/ieee754/dbl-64/e_atanh.c b/sysdeps/ieee754/dbl-64/e_atanh.c index c7a323d1c4..d7f29cbd6e 100644 --- a/sysdeps/ieee754/dbl-64/e_atanh.c +++ b/sysdeps/ieee754/dbl-64/e_atanh.c @@ -41,6 +41,7 @@ #include <math-barriers.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const double huge = 1e300; @@ -73,4 +74,4 @@ __ieee754_atanh (double x) return copysign (t, x); } -strong_alias (__ieee754_atanh, __atanh_finite) +libm_alias_finite (__ieee754_atanh, __atanh) diff --git a/sysdeps/ieee754/dbl-64/e_cosh.c b/sysdeps/ieee754/dbl-64/e_cosh.c index ae2180aa89..6c78a3a4e9 100644 --- a/sysdeps/ieee754/dbl-64/e_cosh.c +++ b/sysdeps/ieee754/dbl-64/e_cosh.c @@ -34,6 +34,7 @@ #include <math.h> #include <math-narrow-eval.h> #include <math_private.h> +#include <libm-alias-finite.h> static const double one = 1.0, half = 0.5, huge = 1.0e300; @@ -86,4 +87,4 @@ __ieee754_cosh (double x) /* |x| > overflowthresold, cosh(x) overflow */ return math_narrow_eval (huge * huge); } -strong_alias (__ieee754_cosh, __cosh_finite) +libm_alias_finite (__ieee754_cosh, __cosh) diff --git a/sysdeps/ieee754/dbl-64/e_exp.c b/sysdeps/ieee754/dbl-64/e_exp.c index 71f6f2645f..b2ba523a34 100644 --- a/sysdeps/ieee754/dbl-64/e_exp.c +++ b/sysdeps/ieee754/dbl-64/e_exp.c @@ -21,7 +21,7 @@ #include <math-barriers.h> #include <math-narrow-eval.h> #include <math-svid-compat.h> -#include <shlib-compat.h> +#include <libm-alias-finite.h> #include <libm-alias-double.h> #include "math_config.h" @@ -159,7 +159,7 @@ __exp (double x) #ifndef __exp hidden_def (__exp) strong_alias (__exp, __ieee754_exp) -strong_alias (__exp, __exp_finite) +libm_alias_finite (__ieee754_exp, __exp) # if LIBM_SVID_COMPAT versioned_symbol (libm, __exp, exp, GLIBC_2_29); libm_alias_double_other (__exp, exp) diff --git a/sysdeps/ieee754/dbl-64/e_exp10.c b/sysdeps/ieee754/dbl-64/e_exp10.c index 0a7b7040a7..12a5078aef 100644 --- a/sysdeps/ieee754/dbl-64/e_exp10.c +++ b/sysdeps/ieee754/dbl-64/e_exp10.c @@ -18,6 +18,7 @@ #include <math.h> #include <math_private.h> #include <float.h> +#include <libm-alias-finite.h> static const double log10_high = 0x2.4d7637p0; static const double log10_low = 0x7.6aaa2b05ba95cp-28; @@ -47,4 +48,4 @@ __ieee754_exp10 (double arg) exp_low = arg_high * log10_low + arg_low * M_LN10; return __ieee754_exp (exp_high) * __ieee754_exp (exp_low); } -strong_alias (__ieee754_exp10, __exp10_finite) +libm_alias_finite (__ieee754_exp10, __exp10) diff --git a/sysdeps/ieee754/dbl-64/e_exp2.c b/sysdeps/ieee754/dbl-64/e_exp2.c index 3ed17c328f..5fdf038fb0 100644 --- a/sysdeps/ieee754/dbl-64/e_exp2.c +++ b/sysdeps/ieee754/dbl-64/e_exp2.c @@ -21,7 +21,7 @@ #include <math-barriers.h> #include <math-narrow-eval.h> #include <math-svid-compat.h> -#include <shlib-compat.h> +#include <libm-alias-finite.h> #include <libm-alias-double.h> #include "math_config.h" @@ -145,7 +145,7 @@ __exp2 (double x) } #ifndef __exp2 strong_alias (__exp2, __ieee754_exp2) -strong_alias (__exp2, __exp2_finite) +libm_alias_finite (__ieee754_exp2, __exp2) # if LIBM_SVID_COMPAT versioned_symbol (libm, __exp2, exp2, GLIBC_2_29); libm_alias_double_other (__exp2, exp2) diff --git a/sysdeps/ieee754/dbl-64/e_fmod.c b/sysdeps/ieee754/dbl-64/e_fmod.c index 1a8c14dc2a..f6a095ba82 100644 --- a/sysdeps/ieee754/dbl-64/e_fmod.c +++ b/sysdeps/ieee754/dbl-64/e_fmod.c @@ -17,6 +17,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const double one = 1.0, Zero[] = { 0.0, -0.0, }; @@ -170,4 +171,4 @@ __ieee754_fmod (double x, double y) } return x; /* exact output */ } -strong_alias (__ieee754_fmod, __fmod_finite) +libm_alias_finite (__ieee754_fmod, __fmod) diff --git a/sysdeps/ieee754/dbl-64/e_gamma_r.c b/sysdeps/ieee754/dbl-64/e_gamma_r.c index 0918313ae3..b2fec30f62 100644 --- a/sysdeps/ieee754/dbl-64/e_gamma_r.c +++ b/sysdeps/ieee754/dbl-64/e_gamma_r.c @@ -23,6 +23,7 @@ #include <fenv_private.h> #include <math-underflow.h> #include <float.h> +#include <libm-alias-finite.h> /* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) inside exp in Stirling's approximation to gamma function. */ @@ -220,4 +221,4 @@ __ieee754_gamma_r (double x, int *signgamp) else return ret; } -strong_alias (__ieee754_gamma_r, __gamma_r_finite) +libm_alias_finite (__ieee754_gamma_r, __gamma_r) diff --git a/sysdeps/ieee754/dbl-64/e_hypot.c b/sysdeps/ieee754/dbl-64/e_hypot.c index a2c33cc4ed..9ec4c1ced0 100644 --- a/sysdeps/ieee754/dbl-64/e_hypot.c +++ b/sysdeps/ieee754/dbl-64/e_hypot.c @@ -45,6 +45,7 @@ #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> double __ieee754_hypot (double x, double y) @@ -159,4 +160,6 @@ __ieee754_hypot (double x, double y) else return w; } -strong_alias (__ieee754_hypot, __hypot_finite) +#ifndef __ieee754_hypot +libm_alias_finite (__ieee754_hypot, __hypot) +#endif diff --git a/sysdeps/ieee754/dbl-64/e_j0.c b/sysdeps/ieee754/dbl-64/e_j0.c index 7f5919910d..d0e683637a 100644 --- a/sysdeps/ieee754/dbl-64/e_j0.c +++ b/sysdeps/ieee754/dbl-64/e_j0.c @@ -61,6 +61,7 @@ #include <math.h> #include <math-barriers.h> #include <math_private.h> +#include <libm-alias-finite.h> static double pzero (double), qzero (double); @@ -143,7 +144,7 @@ __ieee754_j0 (double x) return ((one + u) * (one - u) + z * (r / s)); } } -strong_alias (__ieee754_j0, __j0_finite) +libm_alias_finite (__ieee754_j0, __j0) static const double U[] = { -7.38042951086872317523e-02, /* 0xBFB2E4D6, 0x99CBD01F */ @@ -223,7 +224,7 @@ __ieee754_y0 (double x) v = v1 + z2 * v2 + z4 * V[3]; return (u / v + tpi * (__ieee754_j0 (x) * __ieee754_log (x))); } -strong_alias (__ieee754_y0, __y0_finite) +libm_alias_finite (__ieee754_y0, __y0) /* The asymptotic expansions of pzero is * 1 - 9/128 s^2 + 11025/98304 s^4 - ..., where s = 1/x. diff --git a/sysdeps/ieee754/dbl-64/e_j1.c b/sysdeps/ieee754/dbl-64/e_j1.c index 734f3ca64a..8757bd5750 100644 --- a/sysdeps/ieee754/dbl-64/e_j1.c +++ b/sysdeps/ieee754/dbl-64/e_j1.c @@ -64,6 +64,7 @@ #include <math-narrow-eval.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static double pone (double), qone (double); @@ -147,7 +148,7 @@ __ieee754_j1 (double x) s = s1 + z2 * s2 + z4 * s3; return (x * 0.5 + r / s); } -strong_alias (__ieee754_j1, __j1_finite) +libm_alias_finite (__ieee754_j1, __j1) static const double U0[5] = { -1.96057090646238940668e-01, /* 0xBFC91866, 0x143CBC8A */ @@ -230,7 +231,7 @@ __ieee754_y1 (double x) v = v1 + z2 * v2 + z4 * v3; return (x * (u / v) + tpi * (__ieee754_j1 (x) * __ieee754_log (x) - one / x)); } -strong_alias (__ieee754_y1, __y1_finite) +libm_alias_finite (__ieee754_y1, __y1) /* For x >= 8, the asymptotic expansions of pone is * 1 + 15/128 s^2 - 4725/2^15 s^4 - ..., where s = 1/x. diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c index 90a7e77270..f61d71fcd4 100644 --- a/sysdeps/ieee754/dbl-64/e_jn.c +++ b/sysdeps/ieee754/dbl-64/e_jn.c @@ -43,6 +43,7 @@ #include <math_private.h> #include <fenv_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const double invsqrtpi = 5.64189583547756279280e-01, /* 0x3FE20DD7, 0x50429B6D */ @@ -258,7 +259,7 @@ __ieee754_jn (int n, double x) math_check_force_underflow (ret); return ret; } -strong_alias (__ieee754_jn, __jn_finite) +libm_alias_finite (__ieee754_jn, __jn) double __ieee754_yn (int n, double x) @@ -349,4 +350,4 @@ __ieee754_yn (int n, double x) ret = copysign (DBL_MAX, ret) * DBL_MAX; return ret; } -strong_alias (__ieee754_yn, __yn_finite) +libm_alias_finite (__ieee754_yn, __yn) diff --git a/sysdeps/ieee754/dbl-64/e_lgamma_r.c b/sysdeps/ieee754/dbl-64/e_lgamma_r.c index 88051bc75b..5ef289e8e8 100644 --- a/sysdeps/ieee754/dbl-64/e_lgamma_r.c +++ b/sysdeps/ieee754/dbl-64/e_lgamma_r.c @@ -81,6 +81,7 @@ #include <math-narrow-eval.h> #include <math_private.h> #include <libc-diag.h> +#include <libm-alias-finite.h> static const double two52= 4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */ @@ -308,4 +309,4 @@ __ieee754_lgamma_r(double x, int *signgamp) DIAG_POP_NEEDS_COMMENT; return r; } -strong_alias (__ieee754_lgamma_r, __lgamma_r_finite) +libm_alias_finite (__ieee754_lgamma_r, __lgamma_r) diff --git a/sysdeps/ieee754/dbl-64/e_log.c b/sysdeps/ieee754/dbl-64/e_log.c index f48c427e30..1ad4910fe9 100644 --- a/sysdeps/ieee754/dbl-64/e_log.c +++ b/sysdeps/ieee754/dbl-64/e_log.c @@ -19,7 +19,7 @@ #include <math.h> #include <stdint.h> #include <math-svid-compat.h> -#include <shlib-compat.h> +#include <libm-alias-finite.h> #include <libm-alias-double.h> #include "math_config.h" @@ -132,7 +132,7 @@ __log (double x) } #ifndef __log strong_alias (__log, __ieee754_log) -strong_alias (__log, __log_finite) +libm_alias_finite (__ieee754_log, __log) # if LIBM_SVID_COMPAT versioned_symbol (libm, __log, log, GLIBC_2_29); libm_alias_double_other (__log, log) diff --git a/sysdeps/ieee754/dbl-64/e_log10.c b/sysdeps/ieee754/dbl-64/e_log10.c index 677cbc4df8..44a4bd2faa 100644 --- a/sysdeps/ieee754/dbl-64/e_log10.c +++ b/sysdeps/ieee754/dbl-64/e_log10.c @@ -46,6 +46,7 @@ #include <math.h> #include <math_private.h> #include <fix-int-fp-convert-zero.h> +#include <libm-alias-finite.h> static const double two54 = 1.80143985094819840000e+16; /* 0x43500000, 0x00000000 */ static const double ivln10 = 4.34294481903251816668e-01; /* 0x3FDBCB7B, 0x1526E50E */ @@ -84,5 +85,4 @@ __ieee754_log10 (double x) z = y * log10_2lo + ivln10 * __ieee754_log (x); return z + y * log10_2hi; } - -strong_alias (__ieee754_log10, __log10_finite) +libm_alias_finite (__ieee754_log10, __log10) diff --git a/sysdeps/ieee754/dbl-64/e_log2.c b/sysdeps/ieee754/dbl-64/e_log2.c index 68e15de87e..39fe4ef691 100644 --- a/sysdeps/ieee754/dbl-64/e_log2.c +++ b/sysdeps/ieee754/dbl-64/e_log2.c @@ -19,7 +19,7 @@ #include <math.h> #include <stdint.h> #include <math-svid-compat.h> -#include <shlib-compat.h> +#include <libm-alias-finite.h> #include <libm-alias-double.h> #include "math_config.h" @@ -141,7 +141,7 @@ __log2 (double x) } #ifndef __log2 strong_alias (__log2, __ieee754_log2) -strong_alias (__log2, __log2_finite) +libm_alias_finite (__ieee754_log2, __log2) # if LIBM_SVID_COMPAT versioned_symbol (libm, __log2, log2, GLIBC_2_29); libm_alias_double_other (__log2, log2) diff --git a/sysdeps/ieee754/dbl-64/e_pow.c b/sysdeps/ieee754/dbl-64/e_pow.c index c19d8d46c0..cefa203ced 100644 --- a/sysdeps/ieee754/dbl-64/e_pow.c +++ b/sysdeps/ieee754/dbl-64/e_pow.c @@ -21,7 +21,7 @@ #include <math-barriers.h> #include <math-narrow-eval.h> #include <math-svid-compat.h> -#include <shlib-compat.h> +#include <libm-alias-finite.h> #include <libm-alias-double.h> #include "math_config.h" @@ -380,7 +380,7 @@ __pow (double x, double y) } #ifndef __pow strong_alias (__pow, __ieee754_pow) -strong_alias (__pow, __pow_finite) +libm_alias_finite (__ieee754_pow, __pow) # if LIBM_SVID_COMPAT versioned_symbol (libm, __pow, pow, GLIBC_2_29); libm_alias_double_other (__pow, pow) diff --git a/sysdeps/ieee754/dbl-64/e_remainder.c b/sysdeps/ieee754/dbl-64/e_remainder.c index 4e20a62f42..bee5e5f147 100644 --- a/sysdeps/ieee754/dbl-64/e_remainder.c +++ b/sysdeps/ieee754/dbl-64/e_remainder.c @@ -36,6 +36,7 @@ #include <math.h> #include <math_private.h> #include <fenv_private.h> +#include <libm-alias-finite.h> /**************************************************************************/ /* An ultimate remainder routine. Given two IEEE double machine numbers x */ @@ -150,4 +151,4 @@ __ieee754_remainder (double x, double y) } } } -strong_alias (__ieee754_remainder, __remainder_finite) +libm_alias_finite (__ieee754_remainder, __remainder) diff --git a/sysdeps/ieee754/dbl-64/e_sinh.c b/sysdeps/ieee754/dbl-64/e_sinh.c index c4e34211ac..b4b5857ddd 100644 --- a/sysdeps/ieee754/dbl-64/e_sinh.c +++ b/sysdeps/ieee754/dbl-64/e_sinh.c @@ -37,6 +37,7 @@ static char rcsid[] = "$NetBSD: e_sinh.c,v 1.7 1995/05/10 20:46:13 jtc Exp $"; #include <math-narrow-eval.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const double one = 1.0, shuge = 1.0e307; @@ -89,4 +90,4 @@ __ieee754_sinh (double x) /* |x| > overflowthresold, sinh(x) overflow */ return math_narrow_eval (x * shuge); } -strong_alias (__ieee754_sinh, __sinh_finite) +libm_alias_finite (__ieee754_sinh, __sinh) diff --git a/sysdeps/ieee754/dbl-64/e_sqrt.c b/sysdeps/ieee754/dbl-64/e_sqrt.c index d8a91fba18..d42a1a4eb6 100644 --- a/sysdeps/ieee754/dbl-64/e_sqrt.c +++ b/sysdeps/ieee754/dbl-64/e_sqrt.c @@ -40,6 +40,7 @@ #include <math-barriers.h> #include <math_private.h> #include <fenv_private.h> +#include <libm-alias-finite.h> /*********************************************************************/ /* An ultimate sqrt routine. Given an IEEE double machine number x */ @@ -138,4 +139,6 @@ __ieee754_sqrt (double x) return 0x1p-256 * __ieee754_sqrt (x * 0x1p512); } } -strong_alias (__ieee754_sqrt, __sqrt_finite) +#ifndef __ieee754_sqrt +libm_alias_finite (__ieee754_sqrt, __sqrt) +#endif diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c b/sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c index 0af05a0222..a241366f30 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c @@ -26,6 +26,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const double one = 1.0, @@ -64,4 +65,4 @@ __ieee754_acosh (double x) else /* x < 1 */ return (x - x) / (x - x); } -strong_alias (__ieee754_acosh, __acosh_finite) +libm_alias_finite (__ieee754_acosh, __acosh) diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c b/sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c index fca80b13f9..4f41ca2c92 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c @@ -33,6 +33,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const double one = 1.0, half=0.5, huge = 1.0e300; @@ -81,4 +82,4 @@ __ieee754_cosh (double x) /* |x| > overflowthresold, cosh(x) overflow */ return huge*huge; } -strong_alias (__ieee754_cosh, __cosh_finite) +libm_alias_finite (__ieee754_cosh, __cosh) diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c b/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c index f686bb6706..52a8687448 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c @@ -19,6 +19,7 @@ #include <math.h> #include <math_private.h> #include <stdint.h> +#include <libm-alias-finite.h> static const double one = 1.0, Zero[] = {0.0, -0.0,}; @@ -102,4 +103,4 @@ __ieee754_fmod (double x, double y) } return x; /* exact output */ } -strong_alias (__ieee754_fmod, __fmod_finite) +libm_alias_finite (__ieee754_fmod, __fmod) diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/e_log10.c b/sysdeps/ieee754/dbl-64/wordsize-64/e_log10.c index cd5567182f..0b4116e0a8 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/e_log10.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/e_log10.c @@ -46,6 +46,7 @@ #include <math.h> #include <math_private.h> #include <stdint.h> +#include <libm-alias-finite.h> static const double two54 = 1.80143985094819840000e+16; /* 0x4350000000000000 */ static const double ivln10 = 4.34294481903251816668e-01; /* 0x3FDBCB7B1526E50E */ @@ -83,5 +84,4 @@ __ieee754_log10 (double x) z = y * log10_2lo + ivln10 * __ieee754_log (x); return z + y * log10_2hi; } - -strong_alias (__ieee754_log10, __log10_finite) +libm_alias_finite (__ieee754_log10, __log10) diff --git a/sysdeps/ieee754/float128/float128_private.h b/sysdeps/ieee754/float128/float128_private.h index 9d11381cd0..f97463d9dc 100644 --- a/sysdeps/ieee754/float128/float128_private.h +++ b/sysdeps/ieee754/float128/float128_private.h @@ -283,6 +283,32 @@ #define __fsubl __f32subf128 #define __dsubl __f64subf128 +/* Used on __finite compat alias. */ +#define __acosl __acosf128 +#define __acoshl __acoshf128 +#define __asinl __asinf128 +#define __atan2l __atan2f128 +#define __atanhl __atanhf128 +#define __coshl __coshf128 +#define __exp10l __exp10f128 +#define __expl __expf128 +#define __fmodl __fmodf128 +#define __gammal_r __gammaf128_r +#define __hypotl __hypotf128 +#define __j0l __j0f128 +#define __j1l __j1f128 +#define __jnl __jnf128 +#define __lgammal_r __lgammaf128_r +#define __log10l __log10f128 +#define __log2l __log2f128 +#define __logl __logf128 +#define __powl __powf128 +#define __remainderl __remainderf128 +#define __sinhl __sinhf128 +#define __y0l __y0f128 +#define __y1l __y1f128 +#define __ynl __ynf128 + /* __nexttowardf128 is not _Float128 API. */ #define __nexttowardl __nexttowardf128_do_not_use #define nexttowardl nexttowardf128_do_not_use diff --git a/sysdeps/ieee754/flt-32/e_acosf.c b/sysdeps/ieee754/flt-32/e_acosf.c index 3b2e4f1bde..ce688c9802 100644 --- a/sysdeps/ieee754/flt-32/e_acosf.c +++ b/sysdeps/ieee754/flt-32/e_acosf.c @@ -15,6 +15,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const float one = 1.0000000000e+00, /* 0x3F800000 */ @@ -75,4 +76,4 @@ __ieee754_acosf(float x) return (float)2.0*(df+w); } } -strong_alias (__ieee754_acosf, __acosf_finite) +libm_alias_finite (__ieee754_acosf, __acosf) diff --git a/sysdeps/ieee754/flt-32/e_acoshf.c b/sysdeps/ieee754/flt-32/e_acoshf.c index 49e64f3c43..5f573c3e98 100644 --- a/sysdeps/ieee754/flt-32/e_acoshf.c +++ b/sysdeps/ieee754/flt-32/e_acoshf.c @@ -19,6 +19,7 @@ static char rcsid[] = "$NetBSD: e_acoshf.c,v 1.5 1995/05/12 04:57:20 jtc Exp $"; #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const float one = 1.0, @@ -46,4 +47,4 @@ float __ieee754_acoshf(float x) return __log1pf(t+sqrtf((float)2.0*t+t*t)); } } -strong_alias (__ieee754_acoshf, __acoshf_finite) +libm_alias_finite (__ieee754_acoshf, __acoshf) diff --git a/sysdeps/ieee754/flt-32/e_asinf.c b/sysdeps/ieee754/flt-32/e_asinf.c index 3328a8f296..720e95d64d 100644 --- a/sysdeps/ieee754/flt-32/e_asinf.c +++ b/sysdeps/ieee754/flt-32/e_asinf.c @@ -43,6 +43,7 @@ static char rcsid[] = "$NetBSD: e_asinf.c,v 1.5 1995/05/12 04:57:25 jtc Exp $"; #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const float one = 1.0000000000e+00, /* 0x3F800000 */ @@ -102,4 +103,4 @@ float __ieee754_asinf(float x) } if(hx>0) return t; else return -t; } -strong_alias (__ieee754_asinf, __asinf_finite) +libm_alias_finite (__ieee754_asinf, __asinf) diff --git a/sysdeps/ieee754/flt-32/e_atan2f.c b/sysdeps/ieee754/flt-32/e_atan2f.c index ddc5873ade..743b6fd43c 100644 --- a/sysdeps/ieee754/flt-32/e_atan2f.c +++ b/sysdeps/ieee754/flt-32/e_atan2f.c @@ -15,6 +15,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const float tiny = 1.0e-30, @@ -91,4 +92,4 @@ __ieee754_atan2f (float y, float x) return (z-pi_lo)-pi;/* atan(-,-) */ } } -strong_alias (__ieee754_atan2f, __atan2f_finite) +libm_alias_finite (__ieee754_atan2f, __atan2f) diff --git a/sysdeps/ieee754/flt-32/e_atanhf.c b/sysdeps/ieee754/flt-32/e_atanhf.c index 6ca9aa14dd..6a5c2d9adb 100644 --- a/sysdeps/ieee754/flt-32/e_atanhf.c +++ b/sysdeps/ieee754/flt-32/e_atanhf.c @@ -41,6 +41,7 @@ #include <math-barriers.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const float huge = 1e30; @@ -73,4 +74,4 @@ __ieee754_atanhf (float x) return copysignf (t, x); } -strong_alias (__ieee754_atanhf, __atanhf_finite) +libm_alias_finite (__ieee754_atanhf, __atanhf) diff --git a/sysdeps/ieee754/flt-32/e_coshf.c b/sysdeps/ieee754/flt-32/e_coshf.c index a2aa83876d..742a68139e 100644 --- a/sysdeps/ieee754/flt-32/e_coshf.c +++ b/sysdeps/ieee754/flt-32/e_coshf.c @@ -17,6 +17,7 @@ #include <math.h> #include <math-narrow-eval.h> #include <math_private.h> +#include <libm-alias-finite.h> static const float huge = 1.0e30; static const float one = 1.0, half=0.5; @@ -61,4 +62,4 @@ __ieee754_coshf (float x) /* |x| > overflowthresold, cosh(x) overflow */ return math_narrow_eval (huge*huge); } -strong_alias (__ieee754_coshf, __coshf_finite) +libm_alias_finite (__ieee754_coshf, __coshf) diff --git a/sysdeps/ieee754/flt-32/e_exp2f.c b/sysdeps/ieee754/flt-32/e_exp2f.c index 30c1d4fb7b..3df5674081 100644 --- a/sysdeps/ieee754/flt-32/e_exp2f.c +++ b/sysdeps/ieee754/flt-32/e_exp2f.c @@ -19,7 +19,7 @@ #include <math.h> #include <math-narrow-eval.h> #include <stdint.h> -#include <shlib-compat.h> +#include <libm-alias-finite.h> #include <libm-alias-float.h> #include "math_config.h" @@ -90,7 +90,7 @@ __exp2f (float x) } #ifndef __exp2f strong_alias (__exp2f, __ieee754_exp2f) -strong_alias (__exp2f, __exp2f_finite) +libm_alias_finite (__ieee754_exp2f, __exp2f) versioned_symbol (libm, __exp2f, exp2f, GLIBC_2_27); libm_alias_float_other (__exp2, exp2) #endif diff --git a/sysdeps/ieee754/flt-32/e_expf.c b/sysdeps/ieee754/flt-32/e_expf.c index dd4628e33d..973fe9af42 100644 --- a/sysdeps/ieee754/flt-32/e_expf.c +++ b/sysdeps/ieee754/flt-32/e_expf.c @@ -24,7 +24,7 @@ #include <math.h> #include <math-narrow-eval.h> #include <stdint.h> -#include <shlib-compat.h> +#include <libm-alias-finite.h> #include <libm-alias-float.h> #include "math_config.h" @@ -108,7 +108,7 @@ __expf (float x) #ifndef __expf hidden_def (__expf) strong_alias (__expf, __ieee754_expf) -strong_alias (__expf, __expf_finite) +libm_alias_finite (__ieee754_expf, __expf) versioned_symbol (libm, __expf, expf, GLIBC_2_27); libm_alias_float_other (__exp, exp) #endif diff --git a/sysdeps/ieee754/flt-32/e_fmodf.c b/sysdeps/ieee754/flt-32/e_fmodf.c index 1a9407b517..e641599221 100644 --- a/sysdeps/ieee754/flt-32/e_fmodf.c +++ b/sysdeps/ieee754/flt-32/e_fmodf.c @@ -21,6 +21,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const float one = 1.0, Zero[] = {0.0, -0.0,}; @@ -99,4 +100,4 @@ __ieee754_fmodf (float x, float y) } return x; /* exact output */ } -strong_alias (__ieee754_fmodf, __fmodf_finite) +libm_alias_finite (__ieee754_fmodf, __fmodf) diff --git a/sysdeps/ieee754/flt-32/e_gammaf_r.c b/sysdeps/ieee754/flt-32/e_gammaf_r.c index 15960adfc1..7aae9592eb 100644 --- a/sysdeps/ieee754/flt-32/e_gammaf_r.c +++ b/sysdeps/ieee754/flt-32/e_gammaf_r.c @@ -23,6 +23,7 @@ #include <fenv_private.h> #include <math-underflow.h> #include <float.h> +#include <libm-alias-finite.h> /* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) inside exp in Stirling's approximation to gamma function. */ @@ -212,4 +213,4 @@ __ieee754_gammaf_r (float x, int *signgamp) else return ret; } -strong_alias (__ieee754_gammaf_r, __gammaf_r_finite) +libm_alias_finite (__ieee754_gammaf_r, __gammaf_r) diff --git a/sysdeps/ieee754/flt-32/e_hypotf.c b/sysdeps/ieee754/flt-32/e_hypotf.c index 5336876cf4..dfffcf4988 100644 --- a/sysdeps/ieee754/flt-32/e_hypotf.c +++ b/sysdeps/ieee754/flt-32/e_hypotf.c @@ -15,6 +15,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> float __ieee754_hypotf(float x, float y) @@ -42,4 +43,6 @@ __ieee754_hypotf(float x, float y) return (float) sqrt(d_x * d_x + d_y * d_y); } -strong_alias (__ieee754_hypotf, __hypotf_finite) +#ifndef __ieee754_hypotf +libm_alias_finite (__ieee754_hypotf, __hypotf) +#endif diff --git a/sysdeps/ieee754/flt-32/e_j0f.c b/sysdeps/ieee754/flt-32/e_j0f.c index 0efc646a12..0ac7d8e636 100644 --- a/sysdeps/ieee754/flt-32/e_j0f.c +++ b/sysdeps/ieee754/flt-32/e_j0f.c @@ -16,6 +16,7 @@ #include <math.h> #include <math-barriers.h> #include <math_private.h> +#include <libm-alias-finite.h> static float pzerof(float), qzerof(float); @@ -81,7 +82,7 @@ __ieee754_j0f(float x) return((one+u)*(one-u)+z*(r/s)); } } -strong_alias (__ieee754_j0f, __j0f_finite) +libm_alias_finite (__ieee754_j0f, __j0f) static const float u00 = -7.3804296553e-02, /* 0xbd9726b5 */ @@ -147,7 +148,7 @@ __ieee754_y0f(float x) v = one+z*(v01+z*(v02+z*(v03+z*v04))); return(u/v + tpi*(__ieee754_j0f(x)*__ieee754_logf(x))); } -strong_alias (__ieee754_y0f, __y0f_finite) +libm_alias_finite (__ieee754_y0f, __y0f) /* The asymptotic expansions of pzero is * 1 - 9/128 s^2 + 11025/98304 s^4 - ..., where s = 1/x. diff --git a/sysdeps/ieee754/flt-32/e_j1f.c b/sysdeps/ieee754/flt-32/e_j1f.c index 09b2296483..eafff4f4b5 100644 --- a/sysdeps/ieee754/flt-32/e_j1f.c +++ b/sysdeps/ieee754/flt-32/e_j1f.c @@ -20,6 +20,7 @@ #include <math_private.h> #include <fenv_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static float ponef(float), qonef(float); @@ -87,7 +88,7 @@ __ieee754_j1f(float x) r *= x; return(x*(float)0.5+r/s); } -strong_alias (__ieee754_j1f, __j1f_finite) +libm_alias_finite (__ieee754_j1f, __j1f) static const float U0[5] = { -1.9605709612e-01, /* 0xbe48c331 */ @@ -156,7 +157,7 @@ __ieee754_y1f(float x) v = one+z*(V0[0]+z*(V0[1]+z*(V0[2]+z*(V0[3]+z*V0[4])))); return(x*(u/v) + tpi*(__ieee754_j1f(x)*__ieee754_logf(x)-one/x)); } -strong_alias (__ieee754_y1f, __y1f_finite) +libm_alias_finite (__ieee754_y1f, __y1f) /* For x >= 8, the asymptotic expansions of pone is * 1 + 15/128 s^2 - 4725/2^15 s^4 - ..., where s = 1/x. diff --git a/sysdeps/ieee754/flt-32/e_jnf.c b/sysdeps/ieee754/flt-32/e_jnf.c index ae29015424..b2a015a48a 100644 --- a/sysdeps/ieee754/flt-32/e_jnf.c +++ b/sysdeps/ieee754/flt-32/e_jnf.c @@ -20,6 +20,7 @@ #include <math_private.h> #include <fenv_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const float two = 2.0000000000e+00, /* 0x40000000 */ @@ -181,7 +182,7 @@ __ieee754_jnf(int n, float x) math_check_force_underflow (ret); return ret; } -strong_alias (__ieee754_jnf, __jnf_finite) +libm_alias_finite (__ieee754_jnf, __jnf) float __ieee754_ynf(int n, float x) @@ -233,4 +234,4 @@ __ieee754_ynf(int n, float x) ret = copysignf (FLT_MAX, ret) * FLT_MAX; return ret; } -strong_alias (__ieee754_ynf, __ynf_finite) +libm_alias_finite (__ieee754_ynf, __ynf) diff --git a/sysdeps/ieee754/flt-32/e_lgammaf_r.c b/sysdeps/ieee754/flt-32/e_lgammaf_r.c index a7f9b9fbad..0667b1bb3e 100644 --- a/sysdeps/ieee754/flt-32/e_lgammaf_r.c +++ b/sysdeps/ieee754/flt-32/e_lgammaf_r.c @@ -17,6 +17,7 @@ #include <math-narrow-eval.h> #include <math_private.h> #include <libc-diag.h> +#include <libm-alias-finite.h> static const float two23= 8.3886080000e+06, /* 0x4b000000 */ @@ -244,4 +245,4 @@ __ieee754_lgammaf_r(float x, int *signgamp) DIAG_POP_NEEDS_COMMENT; return r; } -strong_alias (__ieee754_lgammaf_r, __lgammaf_r_finite) +libm_alias_finite (__ieee754_lgammaf_r, __lgammaf_r) diff --git a/sysdeps/ieee754/flt-32/e_log10f.c b/sysdeps/ieee754/flt-32/e_log10f.c index 7f1ffdad77..4e31e5cfdd 100644 --- a/sysdeps/ieee754/flt-32/e_log10f.c +++ b/sysdeps/ieee754/flt-32/e_log10f.c @@ -16,6 +16,7 @@ #include <math.h> #include <math_private.h> #include <fix-int-fp-convert-zero.h> +#include <libm-alias-finite.h> static const float two25 = 3.3554432000e+07, /* 0x4c000000 */ @@ -51,4 +52,4 @@ __ieee754_log10f(float x) z = y*log10_2lo + ivln10*__ieee754_logf(x); return z+y*log10_2hi; } -strong_alias (__ieee754_log10f, __log10f_finite) +libm_alias_finite (__ieee754_log10f, __log10f) diff --git a/sysdeps/ieee754/flt-32/e_log2f.c b/sysdeps/ieee754/flt-32/e_log2f.c index 9bee8362be..ca39776b3f 100644 --- a/sysdeps/ieee754/flt-32/e_log2f.c +++ b/sysdeps/ieee754/flt-32/e_log2f.c @@ -18,7 +18,7 @@ #include <math.h> #include <stdint.h> -#include <shlib-compat.h> +#include <libm-alias-finite.h> #include <libm-alias-float.h> #include "math_config.h" @@ -89,7 +89,7 @@ __log2f (float x) } #ifndef __log2f strong_alias (__log2f, __ieee754_log2f) -strong_alias (__log2f, __log2f_finite) +libm_alias_finite (__ieee754_log2f, __log2f) versioned_symbol (libm, __log2f, log2f, GLIBC_2_27); libm_alias_float_other (__log2, log2) #endif diff --git a/sysdeps/ieee754/flt-32/e_logf.c b/sysdeps/ieee754/flt-32/e_logf.c index e9e0346197..2a7227dd8a 100644 --- a/sysdeps/ieee754/flt-32/e_logf.c +++ b/sysdeps/ieee754/flt-32/e_logf.c @@ -18,7 +18,7 @@ #include <math.h> #include <stdint.h> -#include <shlib-compat.h> +#include <libm-alias-finite.h> #include <libm-alias-float.h> #include "math_config.h" @@ -88,7 +88,7 @@ __logf (float x) } #ifndef __logf strong_alias (__logf, __ieee754_logf) -strong_alias (__logf, __logf_finite) +libm_alias_finite (__ieee754_logf, __logf) versioned_symbol (libm, __logf, logf, GLIBC_2_27); libm_alias_float_other (__log, log) #endif diff --git a/sysdeps/ieee754/flt-32/e_powf.c b/sysdeps/ieee754/flt-32/e_powf.c index 8035dfeb2c..e423b835de 100644 --- a/sysdeps/ieee754/flt-32/e_powf.c +++ b/sysdeps/ieee754/flt-32/e_powf.c @@ -20,7 +20,7 @@ #include <math-barriers.h> #include <math-narrow-eval.h> #include <stdint.h> -#include <shlib-compat.h> +#include <libm-alias-finite.h> #include <libm-alias-float.h> #include "math_config.h" @@ -231,7 +231,7 @@ __powf (float x, float y) } #ifndef __powf strong_alias (__powf, __ieee754_powf) -strong_alias (__powf, __powf_finite) +libm_alias_finite (__ieee754_powf, __powf) versioned_symbol (libm, __powf, powf, GLIBC_2_27); libm_alias_float_other (__pow, pow) #endif diff --git a/sysdeps/ieee754/flt-32/e_remainderf.c b/sysdeps/ieee754/flt-32/e_remainderf.c index 8e78784e0f..946527c3f8 100644 --- a/sysdeps/ieee754/flt-32/e_remainderf.c +++ b/sysdeps/ieee754/flt-32/e_remainderf.c @@ -15,6 +15,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const float zero = 0.0; @@ -59,4 +60,4 @@ __ieee754_remainderf(float x, float p) SET_FLOAT_WORD(x,hx^sx); return x; } -strong_alias (__ieee754_remainderf, __remainderf_finite) +libm_alias_finite (__ieee754_remainderf, __remainderf) diff --git a/sysdeps/ieee754/flt-32/e_sinhf.c b/sysdeps/ieee754/flt-32/e_sinhf.c index 20f7db81ea..6fe74f3faf 100644 --- a/sysdeps/ieee754/flt-32/e_sinhf.c +++ b/sysdeps/ieee754/flt-32/e_sinhf.c @@ -18,6 +18,7 @@ #include <math-narrow-eval.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const float one = 1.0, shuge = 1.0e37; @@ -59,4 +60,4 @@ __ieee754_sinhf(float x) /* |x| > overflowthresold, sinh(x) overflow */ return math_narrow_eval (x*shuge); } -strong_alias (__ieee754_sinhf, __sinhf_finite) +libm_alias_finite (__ieee754_sinhf, __sinhf) diff --git a/sysdeps/ieee754/flt-32/e_sqrtf.c b/sysdeps/ieee754/flt-32/e_sqrtf.c index 6025da19cf..b339444301 100644 --- a/sysdeps/ieee754/flt-32/e_sqrtf.c +++ b/sysdeps/ieee754/flt-32/e_sqrtf.c @@ -15,6 +15,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const float one = 1.0, tiny=1.0e-30; @@ -83,4 +84,6 @@ __ieee754_sqrtf(float x) SET_FLOAT_WORD(z,ix); return z; } -strong_alias (__ieee754_sqrtf, __sqrtf_finite) +#ifndef __ieee754_sqrtf +libm_alias_finite (__ieee754_sqrtf, __sqrtf) +#endif diff --git a/sysdeps/ieee754/ldbl-128/e_acoshl.c b/sysdeps/ieee754/ldbl-128/e_acoshl.c index c292759ac6..c3cb73a2a4 100644 --- a/sysdeps/ieee754/ldbl-128/e_acoshl.c +++ b/sysdeps/ieee754/ldbl-128/e_acoshl.c @@ -29,6 +29,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const _Float128 one = 1.0, @@ -58,4 +59,4 @@ __ieee754_acoshl(_Float128 x) return __log1pl(t+sqrtl(2*t+t*t)); } } -strong_alias (__ieee754_acoshl, __acoshl_finite) +libm_alias_finite (__ieee754_acoshl, __acoshl) diff --git a/sysdeps/ieee754/ldbl-128/e_acosl.c b/sysdeps/ieee754/ldbl-128/e_acosl.c index f698d0aa5c..6a6e5412e5 100644 --- a/sysdeps/ieee754/ldbl-128/e_acosl.c +++ b/sysdeps/ieee754/ldbl-128/e_acosl.c @@ -56,6 +56,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const _Float128 one = 1, @@ -316,4 +317,4 @@ __ieee754_acosl (_Float128 x) return 2.0 * w; } } -strong_alias (__ieee754_acosl, __acosl_finite) +libm_alias_finite (__ieee754_acosl, __acosl) diff --git a/sysdeps/ieee754/ldbl-128/e_asinl.c b/sysdeps/ieee754/ldbl-128/e_asinl.c index aa240f1ff2..4825e0c15d 100644 --- a/sysdeps/ieee754/ldbl-128/e_asinl.c +++ b/sysdeps/ieee754/ldbl-128/e_asinl.c @@ -64,6 +64,7 @@ #include <math-barriers.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const _Float128 one = 1, @@ -257,4 +258,4 @@ __ieee754_asinl (_Float128 x) else return -t; } -strong_alias (__ieee754_asinl, __asinl_finite) +libm_alias_finite (__ieee754_asinl, __asinl) diff --git a/sysdeps/ieee754/ldbl-128/e_atan2l.c b/sysdeps/ieee754/ldbl-128/e_atan2l.c index 8b4afa4bd5..142060de48 100644 --- a/sysdeps/ieee754/ldbl-128/e_atan2l.c +++ b/sysdeps/ieee754/ldbl-128/e_atan2l.c @@ -42,6 +42,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const _Float128 tiny = L(1.0e-4900), @@ -119,4 +120,4 @@ __ieee754_atan2l(_Float128 y, _Float128 x) return (z-pi_lo)-pi;/* atan(-,-) */ } } -strong_alias (__ieee754_atan2l, __atan2l_finite) +libm_alias_finite (__ieee754_atan2l, __atan2l) diff --git a/sysdeps/ieee754/ldbl-128/e_atanhl.c b/sysdeps/ieee754/ldbl-128/e_atanhl.c index 13b7683e17..68a52201d2 100644 --- a/sysdeps/ieee754/ldbl-128/e_atanhl.c +++ b/sysdeps/ieee754/ldbl-128/e_atanhl.c @@ -36,6 +36,7 @@ #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const _Float128 one = 1, huge = L(1e4900); @@ -72,4 +73,4 @@ __ieee754_atanhl(_Float128 x) t = 0.5*__log1pl((u.value+u.value)/(one-u.value)); if(jx & 0x80000000) return -t; else return t; } -strong_alias (__ieee754_atanhl, __atanhl_finite) +libm_alias_finite (__ieee754_atanhl, __atanhl) diff --git a/sysdeps/ieee754/ldbl-128/e_coshl.c b/sysdeps/ieee754/ldbl-128/e_coshl.c index 2b8c1abfc2..dc9d376359 100644 --- a/sysdeps/ieee754/ldbl-128/e_coshl.c +++ b/sysdeps/ieee754/ldbl-128/e_coshl.c @@ -53,6 +53,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const _Float128 one = 1.0, half = 0.5, huge = L(1.0e4900), ovf_thresh = L(1.1357216553474703894801348310092223067821E4); @@ -107,4 +108,4 @@ __ieee754_coshl (_Float128 x) /* |x| > overflowthresold, cosh(x) overflow */ return huge * huge; } -strong_alias (__ieee754_coshl, __coshl_finite) +libm_alias_finite (__ieee754_coshl, __coshl) diff --git a/sysdeps/ieee754/ldbl-128/e_exp10l.c b/sysdeps/ieee754/ldbl-128/e_exp10l.c index 7356a3a6d1..ea7ed0df40 100644 --- a/sysdeps/ieee754/ldbl-128/e_exp10l.c +++ b/sysdeps/ieee754/ldbl-128/e_exp10l.c @@ -18,6 +18,7 @@ #include <math.h> #include <math_private.h> #include <float.h> +#include <libm-alias-finite.h> static const _Float128 log10_high = L(0x2.4d763776aaa2bp0); static const _Float128 log10_low = L(0x5.ba95b58ae0b4c28a38a3fb3e7698p-60); @@ -46,4 +47,4 @@ __ieee754_exp10l (_Float128 arg) exp_low = arg_high * log10_low + arg_low * M_LN10l; return __ieee754_expl (exp_high) * __ieee754_expl (exp_low); } -strong_alias (__ieee754_exp10l, __exp10l_finite) +libm_alias_finite (__ieee754_exp10l, __exp10l) diff --git a/sysdeps/ieee754/ldbl-128/e_expl.c b/sysdeps/ieee754/ldbl-128/e_expl.c index f41ab2059e..37c1538c08 100644 --- a/sysdeps/ieee754/ldbl-128/e_expl.c +++ b/sysdeps/ieee754/ldbl-128/e_expl.c @@ -69,6 +69,7 @@ #include <math-underflow.h> #include <stdlib.h> #include "t_expl.h" +#include <libm-alias-finite.h> static const _Float128 C[] = { /* Smallest integer x for which e^x overflows. */ @@ -253,4 +254,4 @@ __ieee754_expl (_Float128 x) /* Return x, if x is a NaN or Inf; or overflow, otherwise. */ return TWO16383*x; } -strong_alias (__ieee754_expl, __expl_finite) +libm_alias_finite (__ieee754_expl, __expl) diff --git a/sysdeps/ieee754/ldbl-128/e_fmodl.c b/sysdeps/ieee754/ldbl-128/e_fmodl.c index 73465126b4..c927859cdf 100644 --- a/sysdeps/ieee754/ldbl-128/e_fmodl.c +++ b/sysdeps/ieee754/ldbl-128/e_fmodl.c @@ -20,6 +20,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const _Float128 one = 1.0, Zero[] = {0.0, -0.0,}; @@ -128,4 +129,4 @@ __ieee754_fmodl (_Float128 x, _Float128 y) } return x; /* exact output */ } -strong_alias (__ieee754_fmodl, __fmodl_finite) +libm_alias_finite (__ieee754_fmodl, __fmodl) diff --git a/sysdeps/ieee754/ldbl-128/e_gammal_r.c b/sysdeps/ieee754/ldbl-128/e_gammal_r.c index f393217f43..a41dacf28a 100644 --- a/sysdeps/ieee754/ldbl-128/e_gammal_r.c +++ b/sysdeps/ieee754/ldbl-128/e_gammal_r.c @@ -23,6 +23,7 @@ #include <fenv_private.h> #include <math-underflow.h> #include <float.h> +#include <libm-alias-finite.h> /* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) inside exp in Stirling's approximation to gamma function. */ @@ -217,4 +218,4 @@ __ieee754_gammal_r (_Float128 x, int *signgamp) else return ret; } -strong_alias (__ieee754_gammal_r, __gammal_r_finite) +libm_alias_finite (__ieee754_gammal_r, __gammal_r) diff --git a/sysdeps/ieee754/ldbl-128/e_hypotl.c b/sysdeps/ieee754/ldbl-128/e_hypotl.c index 7bafd4ae29..cc3cc4a01c 100644 --- a/sysdeps/ieee754/ldbl-128/e_hypotl.c +++ b/sysdeps/ieee754/ldbl-128/e_hypotl.c @@ -48,6 +48,7 @@ #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> _Float128 __ieee754_hypotl(_Float128 x, _Float128 y) @@ -138,4 +139,4 @@ __ieee754_hypotl(_Float128 x, _Float128 y) return w; } else return w; } -strong_alias (__ieee754_hypotl, __hypotl_finite) +libm_alias_finite (__ieee754_hypotl, __hypotl) diff --git a/sysdeps/ieee754/ldbl-128/e_j0l.c b/sysdeps/ieee754/ldbl-128/e_j0l.c index 631d67b92c..c424acc0bf 100644 --- a/sysdeps/ieee754/ldbl-128/e_j0l.c +++ b/sysdeps/ieee754/ldbl-128/e_j0l.c @@ -94,6 +94,7 @@ #include <math.h> #include <math_private.h> #include <float.h> +#include <libm-alias-finite.h> /* 1 / sqrt(pi) */ static const _Float128 ONEOSQPI = L(5.6418958354775628694807945156077258584405E-1); @@ -789,7 +790,7 @@ __ieee754_j0l (_Float128 x) z = ONEOSQPI * (p * cc - q * ss) / sqrtl (xx); return z; } -strong_alias (__ieee754_j0l, __j0l_finite) +libm_alias_finite (__ieee754_j0l, __j0l) /* Y0(x) = 2/pi * log(x) * J0(x) + R(x^2) @@ -934,4 +935,4 @@ _Float128 z = ONEOSQPI * (p * ss + q * cc) / sqrtl (x); return z; } -strong_alias (__ieee754_y0l, __y0l_finite) +libm_alias_finite (__ieee754_y0l, __y0l) diff --git a/sysdeps/ieee754/ldbl-128/e_j1l.c b/sysdeps/ieee754/ldbl-128/e_j1l.c index 174f35df07..54c457681a 100644 --- a/sysdeps/ieee754/ldbl-128/e_j1l.c +++ b/sysdeps/ieee754/ldbl-128/e_j1l.c @@ -101,6 +101,7 @@ #include <fenv_private.h> #include <math-underflow.h> #include <float.h> +#include <libm-alias-finite.h> /* 1 / sqrt(pi) */ static const _Float128 ONEOSQPI = L(5.6418958354775628694807945156077258584405E-1); @@ -810,7 +811,7 @@ __ieee754_j1l (_Float128 x) z = -z; return z; } -strong_alias (__ieee754_j1l, __j1l_finite) +libm_alias_finite (__ieee754_j1l, __j1l) /* Y1(x) = 2/pi * (log(x) * J1(x) - 1/x) + x R(x^2) @@ -960,4 +961,4 @@ __ieee754_y1l (_Float128 x) z = ONEOSQPI * (p * ss + q * cc) / sqrtl (xx); return z; } -strong_alias (__ieee754_y1l, __y1l_finite) +libm_alias_finite (__ieee754_y1l, __y1l) diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c index 9066e934f1..2abd32adfe 100644 --- a/sysdeps/ieee754/ldbl-128/e_jnl.c +++ b/sysdeps/ieee754/ldbl-128/e_jnl.c @@ -62,6 +62,7 @@ #include <math_private.h> #include <fenv_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const _Float128 invsqrtpi = L(5.6418958354775628694807945156077258584405E-1), @@ -308,7 +309,7 @@ __ieee754_jnl (int n, _Float128 x) math_check_force_underflow (ret); return ret; } -strong_alias (__ieee754_jnl, __jnl_finite) +libm_alias_finite (__ieee754_jnl, __jnl) _Float128 __ieee754_ynl (int n, _Float128 x) @@ -422,4 +423,4 @@ __ieee754_ynl (int n, _Float128 x) ret = copysignl (LDBL_MAX, ret) * LDBL_MAX; return ret; } -strong_alias (__ieee754_ynl, __ynl_finite) +libm_alias_finite (__ieee754_ynl, __ynl) diff --git a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c index f7359ce62e..0476df8db3 100644 --- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c +++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c @@ -71,6 +71,7 @@ #include <math.h> #include <math_private.h> #include <float.h> +#include <libm-alias-finite.h> static const _Float128 PIL = L(3.1415926535897932384626433832795028841972E0); static const _Float128 MAXLGM = L(1.0485738685148938358098967157129705071571E4928); @@ -1039,4 +1040,4 @@ __ieee754_lgammal_r (_Float128 x, int *signgamp) q += neval (p, RASY, NRASY) / x; return (q); } -strong_alias (__ieee754_lgammal_r, __lgammal_r_finite) +libm_alias_finite (__ieee754_lgammal_r, __lgammal_r) diff --git a/sysdeps/ieee754/ldbl-128/e_log10l.c b/sysdeps/ieee754/ldbl-128/e_log10l.c index 7123c6f69a..9d1728af33 100644 --- a/sysdeps/ieee754/ldbl-128/e_log10l.c +++ b/sysdeps/ieee754/ldbl-128/e_log10l.c @@ -62,6 +62,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> /* Coefficients for ln(1+x) = x - x**2/2 + x**3 P(x)/Q(x) * 1/sqrt(2) <= x < sqrt(2) @@ -256,4 +257,4 @@ done: z += e * L102A; return (z); } -strong_alias (__ieee754_log10l, __log10l_finite) +libm_alias_finite (__ieee754_log10l, __log10l) diff --git a/sysdeps/ieee754/ldbl-128/e_log2l.c b/sysdeps/ieee754/ldbl-128/e_log2l.c index b82cd80bbc..b81b98ced8 100644 --- a/sysdeps/ieee754/ldbl-128/e_log2l.c +++ b/sysdeps/ieee754/ldbl-128/e_log2l.c @@ -61,6 +61,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> /* Coefficients for ln(1+x) = x - x**2/2 + x**3 P(x)/Q(x) * 1/sqrt(2) <= x < sqrt(2) @@ -249,4 +250,4 @@ done: z += e; return (z); } -strong_alias (__ieee754_log2l, __log2l_finite) +libm_alias_finite (__ieee754_log2l, __log2l) diff --git a/sysdeps/ieee754/ldbl-128/e_logl.c b/sysdeps/ieee754/ldbl-128/e_logl.c index be1ebe28b9..f6476e6534 100644 --- a/sysdeps/ieee754/ldbl-128/e_logl.c +++ b/sysdeps/ieee754/ldbl-128/e_logl.c @@ -60,6 +60,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> /* log(1+x) = x - .5 x^2 + x^3 l(x) -.0078125 <= x <= +.0078125 @@ -279,4 +280,4 @@ __ieee754_logl(_Float128 x) y += e * ln2a; return y; } -strong_alias (__ieee754_logl, __logl_finite) +libm_alias_finite (__ieee754_logl, __logl) diff --git a/sysdeps/ieee754/ldbl-128/e_powl.c b/sysdeps/ieee754/ldbl-128/e_powl.c index 967a730500..4e20616705 100644 --- a/sysdeps/ieee754/ldbl-128/e_powl.c +++ b/sysdeps/ieee754/ldbl-128/e_powl.c @@ -67,6 +67,7 @@ #include <math.h> #include <math-barriers.h> #include <math_private.h> +#include <libm-alias-finite.h> static const _Float128 bp[] = { 1, @@ -449,4 +450,4 @@ __ieee754_powl (_Float128 x, _Float128 y) } return sgn * z; } -strong_alias (__ieee754_powl, __powl_finite) +libm_alias_finite (__ieee754_powl, __powl) diff --git a/sysdeps/ieee754/ldbl-128/e_remainderl.c b/sysdeps/ieee754/ldbl-128/e_remainderl.c index 09b8640b78..ade586a2d0 100644 --- a/sysdeps/ieee754/ldbl-128/e_remainderl.c +++ b/sysdeps/ieee754/ldbl-128/e_remainderl.c @@ -23,6 +23,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const _Float128 zero = 0; @@ -68,4 +69,4 @@ __ieee754_remainderl(_Float128 x, _Float128 p) SET_LDOUBLE_MSW64(x,hx^sx); return x; } -strong_alias (__ieee754_remainderl, __remainderl_finite) +libm_alias_finite (__ieee754_remainderl, __remainderl) diff --git a/sysdeps/ieee754/ldbl-128/e_sinhl.c b/sysdeps/ieee754/ldbl-128/e_sinhl.c index 9bbafa8c7a..976fcead3a 100644 --- a/sysdeps/ieee754/ldbl-128/e_sinhl.c +++ b/sysdeps/ieee754/ldbl-128/e_sinhl.c @@ -57,6 +57,7 @@ #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const _Float128 one = 1.0, shuge = L(1.0e4931), ovf_thresh = L(1.1357216553474703894801348310092223067821E4); @@ -115,4 +116,4 @@ __ieee754_sinhl (_Float128 x) /* |x| > overflowthreshold, sinhl(x) overflow */ return x * shuge; } -strong_alias (__ieee754_sinhl, __sinhl_finite) +libm_alias_finite (__ieee754_sinhl, __sinhl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c b/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c index f85fe678ba..e2f045ac23 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c @@ -26,6 +26,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const long double one = 1.0L, @@ -59,4 +60,4 @@ __ieee754_acoshl(long double x) return __log1pl(t+sqrtl(2.0*t+t*t)); } } -strong_alias (__ieee754_acoshl, __acoshl_finite) +libm_alias_finite (__ieee754_acoshl, __acoshl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_acosl.c b/sysdeps/ieee754/ldbl-128ibm/e_acosl.c index 36fe75e215..46a480e8ce 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_acosl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_acosl.c @@ -56,6 +56,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const long double one = 1.0L, @@ -313,4 +314,4 @@ __ieee754_acosl (long double x) return 2.0 * w; } } -strong_alias (__ieee754_acosl, __acosl_finite) +libm_alias_finite (__ieee754_acosl, __acosl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_asinl.c b/sysdeps/ieee754/ldbl-128ibm/e_asinl.c index 0e54332cd5..8cf60f0c2d 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_asinl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_asinl.c @@ -64,6 +64,7 @@ #include <math-barriers.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const long double one = 1.0L, @@ -248,4 +249,4 @@ __ieee754_asinl (long double x) else return -t; } -strong_alias (__ieee754_asinl, __asinl_finite) +libm_alias_finite (__ieee754_asinl, __asinl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c b/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c index b625323df3..8c451ed207 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c @@ -42,6 +42,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const long double tiny = 1.0e-300L, @@ -119,4 +120,4 @@ __ieee754_atan2l(long double y, long double x) return (z-pi_lo)-pi;/* atan(-,-) */ } } -strong_alias (__ieee754_atan2l, __atan2l_finite) +libm_alias_finite (__ieee754_atan2l, __atan2l) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c b/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c index 25c286b8ff..d38d7b5432 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c @@ -32,6 +32,7 @@ #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const long double one = 1.0L, huge = 1e300L; @@ -69,4 +70,4 @@ __ieee754_atanhl(long double x) t = 0.5*__log1pl((x+x)/(one-x)); if(hx>=0) return t; else return -t; } -strong_alias (__ieee754_atanhl, __atanhl_finite) +libm_alias_finite (__ieee754_atanhl, __atanhl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_coshl.c b/sysdeps/ieee754/ldbl-128ibm/e_coshl.c index 327b2ab960..bdbaad73ea 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_coshl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_coshl.c @@ -33,6 +33,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const long double one = 1.0L, half=0.5L, huge = 1.0e300L; @@ -78,4 +79,4 @@ __ieee754_coshl (long double x) /* |x| > overflowthresold, cosh(x) overflow */ return huge*huge; } -strong_alias (__ieee754_coshl, __coshl_finite) +libm_alias_finite (__ieee754_coshl, __coshl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_exp10l.c b/sysdeps/ieee754/ldbl-128ibm/e_exp10l.c index 0009b416d8..bd86a40802 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_exp10l.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_exp10l.c @@ -18,6 +18,7 @@ #include <math.h> #include <math_private.h> #include <float.h> +#include <libm-alias-finite.h> static const long double log10_high = 0x2.4d763776aaap+0L; static const long double log10_low = 0x2.b05ba95b58ae0b4c28a38a3fb4p-48L; @@ -45,4 +46,4 @@ __ieee754_exp10l (long double arg) exp_low = arg_high * log10_low + arg_low * M_LN10l; return __ieee754_expl (exp_high) * __ieee754_expl (exp_low); } -strong_alias (__ieee754_exp10l, __exp10l_finite) +libm_alias_finite (__ieee754_exp10l, __exp10l) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_expl.c b/sysdeps/ieee754/ldbl-128ibm/e_expl.c index 3385887e09..0e68daae05 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_expl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_expl.c @@ -66,7 +66,7 @@ #include <inttypes.h> #include <math_private.h> #include <fenv_private.h> - +#include <libm-alias-finite.h> #include "t_expl.h" @@ -257,4 +257,4 @@ __ieee754_expl (long double x) return result; return result * scale_u.ld; } -strong_alias (__ieee754_expl, __expl_finite) +libm_alias_finite (__ieee754_expl, __expl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c b/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c index fae7dbe888..a8b178dbd0 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c @@ -21,6 +21,7 @@ #include <math.h> #include <math_private.h> #include <ieee754.h> +#include <libm-alias-finite.h> static const long double one = 1.0, Zero[] = {0.0, -0.0,}; @@ -146,4 +147,4 @@ __ieee754_fmodl (long double x, long double y) } return x; /* exact output */ } -strong_alias (__ieee754_fmodl, __fmodl_finite) +libm_alias_finite (__ieee754_fmodl, __fmodl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c b/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c index 642e4ff951..77a6fa68d3 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c @@ -23,6 +23,7 @@ #include <fenv_private.h> #include <math-underflow.h> #include <float.h> +#include <libm-alias-finite.h> /* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) inside exp in Stirling's approximation to gamma function. */ @@ -217,4 +218,4 @@ __ieee754_gammal_r (long double x, int *signgamp) else return ret; } -strong_alias (__ieee754_gammal_r, __gammal_r_finite) +libm_alias_finite (__ieee754_gammal_r, __gammal_r) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c b/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c index 842f77b7ed..8767905cd5 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c @@ -45,6 +45,7 @@ #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> long double __ieee754_hypotl(long double x, long double y) @@ -136,4 +137,4 @@ __ieee754_hypotl(long double x, long double y) else return w; } -strong_alias (__ieee754_hypotl, __hypotl_finite) +libm_alias_finite (__ieee754_hypotl, __hypotl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_j0l.c b/sysdeps/ieee754/ldbl-128ibm/e_j0l.c index d430c29247..a12ef1b845 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_j0l.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_j0l.c @@ -21,6 +21,7 @@ #include <math.h> #include <math_private.h> #include <float.h> +#include <libm-alias-finite.h> /* 1 / sqrt(pi) */ static const long double ONEOSQPI = 5.6418958354775628694807945156077258584405E-1L; @@ -716,7 +717,7 @@ __ieee754_j0l (long double x) z = ONEOSQPI * (p * cc - q * ss) / sqrtl (xx); return z; } -strong_alias (__ieee754_j0l, __j0l_finite) +libm_alias_finite (__ieee754_j0l, __j0l) /* Y0(x) = 2/pi * log(x) * J0(x) + R(x^2) @@ -861,4 +862,4 @@ long double z = ONEOSQPI * (p * ss + q * cc) / sqrtl (x); return z; } -strong_alias (__ieee754_y0l, __y0l_finite) +libm_alias_finite (__ieee754_y0l, __y0l) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_j1l.c b/sysdeps/ieee754/ldbl-128ibm/e_j1l.c index ec6b1cec96..f85ba94466 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_j1l.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_j1l.c @@ -24,6 +24,7 @@ #include <fenv_private.h> #include <math-underflow.h> #include <float.h> +#include <libm-alias-finite.h> /* 1 / sqrt(pi) */ static const long double ONEOSQPI = 5.6418958354775628694807945156077258584405E-1L; @@ -733,7 +734,7 @@ __ieee754_j1l (long double x) z = -z; return z; } -strong_alias (__ieee754_j1l, __j1l_finite) +libm_alias_finite (__ieee754_j1l, __j1l) /* Y1(x) = 2/pi * (log(x) * J1(x) - 1/x) + x R(x^2) @@ -883,4 +884,4 @@ __ieee754_y1l (long double x) z = ONEOSQPI * (p * ss + q * cc) / sqrtl (xx); return z; } -strong_alias (__ieee754_y1l, __y1l_finite) +libm_alias_finite (__ieee754_y1l, __y1l) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c index 3fe4c0e5c6..1ea48ff6d8 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c @@ -62,6 +62,7 @@ #include <math_private.h> #include <fenv_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const long double invsqrtpi = 5.6418958354775628694807945156077258584405E-1L, @@ -308,7 +309,7 @@ __ieee754_jnl (int n, long double x) math_check_force_underflow (ret); return ret; } -strong_alias (__ieee754_jnl, __jnl_finite) +libm_alias_finite (__ieee754_jnl, __jnl) long double __ieee754_ynl (int n, long double x) @@ -424,4 +425,4 @@ __ieee754_ynl (int n, long double x) ret = copysignl (LDBL_MAX, ret) * LDBL_MAX; return ret; } -strong_alias (__ieee754_ynl, __ynl_finite) +libm_alias_finite (__ieee754_ynl, __ynl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c b/sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c index 9dc130cfa9..adf25b01f4 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c @@ -21,6 +21,7 @@ #include <math.h> #include <math_private.h> #include <float.h> +#include <libm-alias-finite.h> static const long double PIL = 3.1415926535897932384626433832795028841972E0L; static const long double MAXLGM = 0x5.d53649e2d469dbc1f01e99fd66p+1012L; @@ -989,4 +990,4 @@ __ieee754_lgammal_r (long double x, int *signgamp) q += neval (p, RASY, NRASY) / x; return (q); } -strong_alias (__ieee754_lgammal_r, __lgammal_r_finite) +libm_alias_finite (__ieee754_lgammal_r, __lgammal_r) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_log10l.c b/sysdeps/ieee754/ldbl-128ibm/e_log10l.c index 7efaacd0ed..bcf71f91e5 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_log10l.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_log10l.c @@ -62,6 +62,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> /* Coefficients for ln(1+x) = x - x**2/2 + x**3 P(x)/Q(x) * 1/sqrt(2) <= x < sqrt(2) @@ -258,4 +259,4 @@ done: z += e * L102A; return (z); } -strong_alias (__ieee754_log10l, __log10l_finite) +libm_alias_finite (__ieee754_log10l, __log10l) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_log2l.c b/sysdeps/ieee754/ldbl-128ibm/e_log2l.c index 57b4b68052..4b3ac26c6e 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_log2l.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_log2l.c @@ -61,6 +61,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> /* Coefficients for ln(1+x) = x - x**2/2 + x**3 P(x)/Q(x) * 1/sqrt(2) <= x < sqrt(2) @@ -251,4 +252,4 @@ done: z += e; return (z); } -strong_alias (__ieee754_log2l, __log2l_finite) +libm_alias_finite (__ieee754_log2l, __log2l) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_logl.c b/sysdeps/ieee754/ldbl-128ibm/e_logl.c index 65e17cb73c..c7f0af4759 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_logl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_logl.c @@ -60,6 +60,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> /* log(1+x) = x - .5 x^2 + x^3 l(x) -.0078125 <= x <= +.0078125 @@ -297,4 +298,4 @@ __ieee754_logl(long double x) y += e * ln2a; return y; } -strong_alias (__ieee754_logl, __logl_finite) +libm_alias_finite (__ieee754_logl, __logl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_powl.c b/sysdeps/ieee754/ldbl-128ibm/e_powl.c index df09c87662..74142a58e1 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_powl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_powl.c @@ -67,6 +67,7 @@ #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const long double bp[] = { 1.0L, @@ -413,4 +414,4 @@ __ieee754_powl (long double x, long double y) math_check_force_underflow (z); return z; } -strong_alias (__ieee754_powl, __powl_finite) +libm_alias_finite (__ieee754_powl, __powl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c b/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c index efa83bdab7..8a99c7984d 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c @@ -23,6 +23,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const long double zero = 0.0L; @@ -78,4 +79,4 @@ __ieee754_remainderl(long double x, long double p) x = -x; return x; } -strong_alias (__ieee754_remainderl, __remainderl_finite) +libm_alias_finite (__ieee754_remainderl, __remainderl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c b/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c index f869fb068c..f30d701011 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c @@ -32,6 +32,7 @@ #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const long double one = 1.0, shuge = 1.0e307; @@ -77,4 +78,4 @@ __ieee754_sinhl(long double x) /* |x| > overflowthresold, sinh(x) overflow */ return x*shuge; } -strong_alias (__ieee754_sinhl, __sinhl_finite) +libm_alias_finite (__ieee754_sinhl, __sinhl) diff --git a/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c b/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c index 6b05d7beae..7bb7f3fdb8 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c @@ -33,6 +33,7 @@ /*********************************************************************/ #include <math_private.h> +#include <libm-alias-finite.h> typedef union {int64_t i[2]; long double x; double d[2]; } mynumber; @@ -99,4 +100,4 @@ long double __ieee754_sqrtl(long double x) return tm256*__ieee754_sqrtl(x*t512); } } -strong_alias (__ieee754_sqrtl, __sqrtl_finite) +libm_alias_finite (__ieee754_sqrtl, __sqrtl) diff --git a/sysdeps/ieee754/ldbl-96/e_acoshl.c b/sysdeps/ieee754/ldbl-96/e_acoshl.c index 56b04d4cc4..0bdf4a998b 100644 --- a/sysdeps/ieee754/ldbl-96/e_acoshl.c +++ b/sysdeps/ieee754/ldbl-96/e_acoshl.c @@ -30,6 +30,7 @@ #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const long double one = 1.0, @@ -58,4 +59,4 @@ __ieee754_acoshl(long double x) return __log1pl(t+sqrtl(2.0*t+t*t)); } } -strong_alias (__ieee754_acoshl, __acoshl_finite) +libm_alias_finite (__ieee754_acoshl, __acoshl) diff --git a/sysdeps/ieee754/ldbl-96/e_asinl.c b/sysdeps/ieee754/ldbl-96/e_asinl.c index 1740bd6f43..ed915ee0f2 100644 --- a/sysdeps/ieee754/ldbl-96/e_asinl.c +++ b/sysdeps/ieee754/ldbl-96/e_asinl.c @@ -62,6 +62,7 @@ #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const long double one = 1.0L, @@ -155,4 +156,4 @@ __ieee754_asinl (long double x) else return -t; } -strong_alias (__ieee754_asinl, __asinl_finite) +libm_alias_finite (__ieee754_asinl, __asinl) diff --git a/sysdeps/ieee754/ldbl-96/e_atanhl.c b/sysdeps/ieee754/ldbl-96/e_atanhl.c index 7312f84329..502ae7bb64 100644 --- a/sysdeps/ieee754/ldbl-96/e_atanhl.c +++ b/sysdeps/ieee754/ldbl-96/e_atanhl.c @@ -37,6 +37,7 @@ #include <math-barriers.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const long double one = 1.0, huge = 1e4900L; @@ -68,4 +69,4 @@ __ieee754_atanhl(long double x) t = 0.5*__log1pl((x+x)/(one-x)); if(se<=0x7fff) return t; else return -t; } -strong_alias (__ieee754_atanhl, __atanhl_finite) +libm_alias_finite (__ieee754_atanhl, __atanhl) diff --git a/sysdeps/ieee754/ldbl-96/e_coshl.c b/sysdeps/ieee754/ldbl-96/e_coshl.c index 1edf2c1542..fa3e8f15a0 100644 --- a/sysdeps/ieee754/ldbl-96/e_coshl.c +++ b/sysdeps/ieee754/ldbl-96/e_coshl.c @@ -36,6 +36,7 @@ static char rcsid[] = "$NetBSD: e_cosh.c,v 1.7 1995/05/10 20:44:58 jtc Exp $"; #include <math.h> #include <math_private.h> +#include <libm-alias-finite.h> static const long double one = 1.0, half=0.5, huge = 1.0e4900L; @@ -84,4 +85,4 @@ __ieee754_coshl (long double x) /* |x| >= log(2*maxdouble), cosh(x) overflow */ return huge*huge; } -strong_alias (__ieee754_coshl, __coshl_finite) +libm_alias_finite (__ieee754_coshl, __coshl) diff --git a/sysdeps/ieee754/ldbl-96/e_gammal_r.c b/sysdeps/ieee754/ldbl-96/e_gammal_r.c index c156962b17..72639c05c2 100644 --- a/sysdeps/ieee754/ldbl-96/e_gammal_r.c +++ b/sysdeps/ieee754/ldbl-96/e_gammal_r.c @@ -22,6 +22,7 @@ #include <fenv_private.h> #include <math-underflow.h> #include <float.h> +#include <libm-alias-finite.h> /* Coefficients B_2k / 2k(2k-1) of x^-(2k-1) inside exp in Stirling's approximation to gamma function. */ @@ -209,4 +210,4 @@ __ieee754_gammal_r (long double x, int *signgamp) else return ret; } -strong_alias (__ieee754_gammal_r, __gammal_r_finite) +libm_alias_finite (__ieee754_gammal_r, __gammal_r) diff --git a/sysdeps/ieee754/ldbl-96/e_hypotl.c b/sysdeps/ieee754/ldbl-96/e_hypotl.c index f664e30c98..7cd487e862 100644 --- a/sysdeps/ieee754/ldbl-96/e_hypotl.c +++ b/sysdeps/ieee754/ldbl-96/e_hypotl.c @@ -49,6 +49,7 @@ #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> long double __ieee754_hypotl(long double x, long double y) { @@ -140,4 +141,4 @@ long double __ieee754_hypotl(long double x, long double y) return w; } else return w; } -strong_alias (__ieee754_hypotl, __hypotl_finite) +libm_alias_finite (__ieee754_hypotl, __hypotl) diff --git a/sysdeps/ieee754/ldbl-96/e_j0l.c b/sysdeps/ieee754/ldbl-96/e_j0l.c index 76258bdf2b..715f56fb0b 100644 --- a/sysdeps/ieee754/ldbl-96/e_j0l.c +++ b/sysdeps/ieee754/ldbl-96/e_j0l.c @@ -74,6 +74,7 @@ #include <math.h> #include <math-barriers.h> #include <math_private.h> +#include <libm-alias-finite.h> static long double pzero (long double), qzero (long double); @@ -165,7 +166,7 @@ __ieee754_j0l (long double x) return ((one + u) * (one - u) + z * (r / s)); } } -strong_alias (__ieee754_j0l, __j0l_finite) +libm_alias_finite (__ieee754_j0l, __j0l) /* y0(x) = 2/pi ln(x) J0(x) + U(x^2)/V(x^2) @@ -256,7 +257,7 @@ __ieee754_y0l (long double x) v = V[0] + z * (V[1] + z * (V[2] + z * (V[3] + z * (V[4] + z)))); return (u / v + tpi * (__ieee754_j0l (x) * __ieee754_logl (x))); } -strong_alias (__ieee754_y0l, __y0l_finite) +libm_alias_finite (__ieee754_y0l, __y0l) /* The asymptotic expansions of pzero is * 1 - 9/128 s^2 + 11025/98304 s^4 - ..., where s = 1/x. diff --git a/sysdeps/ieee754/ldbl-96/e_j1l.c b/sysdeps/ieee754/ldbl-96/e_j1l.c index c0e8d304fd..2c967a6e56 100644 --- a/sysdeps/ieee754/ldbl-96/e_j1l.c +++ b/sysdeps/ieee754/ldbl-96/e_j1l.c @@ -76,6 +76,7 @@ #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static long double pone (long double), qone (long double); @@ -167,7 +168,7 @@ __ieee754_j1l (long double x) r *= x; return (x * 0.5 + r / s); } -strong_alias (__ieee754_j1l, __j1l_finite) +libm_alias_finite (__ieee754_j1l, __j1l) /* Y1(x) = 2/pi * (log(x) * j1(x) - 1/x) + x R(x^2) @@ -254,7 +255,7 @@ __ieee754_y1l (long double x) return (x * (u / v) + tpi * (__ieee754_j1l (x) * __ieee754_logl (x) - one / x)); } -strong_alias (__ieee754_y1l, __y1l_finite) +libm_alias_finite (__ieee754_y1l, __y1l) /* For x >= 8, the asymptotic expansions of pone is diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c index 06aed7c287..ee0eff882d 100644 --- a/sysdeps/ieee754/ldbl-96/e_jnl.c +++ b/sysdeps/ieee754/ldbl-96/e_jnl.c @@ -62,6 +62,7 @@ #include <math_private.h> #include <fenv_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const long double invsqrtpi = 5.64189583547756286948079e-1L, two = 2.0e0L, one = 1.0e0L; @@ -301,7 +302,7 @@ __ieee754_jnl (int n, long double x) math_check_force_underflow (ret); return ret; } -strong_alias (__ieee754_jnl, __jnl_finite) +libm_alias_finite (__ieee754_jnl, __jnl) long double __ieee754_ynl (int n, long double x) @@ -407,4 +408,4 @@ __ieee754_ynl (int n, long double x) ret = copysignl (LDBL_MAX, ret) * LDBL_MAX; return ret; } -strong_alias (__ieee754_ynl, __ynl_finite) +libm_alias_finite (__ieee754_ynl, __ynl) diff --git a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c index d2802692c0..c6f0e77057 100644 --- a/sysdeps/ieee754/ldbl-96/e_lgammal_r.c +++ b/sysdeps/ieee754/ldbl-96/e_lgammal_r.c @@ -94,6 +94,7 @@ #include <math.h> #include <math_private.h> #include <libc-diag.h> +#include <libm-alias-finite.h> static const long double half = 0.5L, @@ -436,4 +437,4 @@ __ieee754_lgammal_r (long double x, int *signgamp) DIAG_POP_NEEDS_COMMENT; return r; } -strong_alias (__ieee754_lgammal_r, __lgammal_r_finite) +libm_alias_finite (__ieee754_lgammal_r, __lgammal_r) diff --git a/sysdeps/ieee754/ldbl-96/e_sinhl.c b/sysdeps/ieee754/ldbl-96/e_sinhl.c index a4b39783bc..fcda8c660f 100644 --- a/sysdeps/ieee754/ldbl-96/e_sinhl.c +++ b/sysdeps/ieee754/ldbl-96/e_sinhl.c @@ -40,6 +40,7 @@ static char rcsid[] = "$NetBSD: $"; #include <math.h> #include <math_private.h> #include <math-underflow.h> +#include <libm-alias-finite.h> static const long double one = 1.0, shuge = 1.0e4931L; @@ -85,4 +86,4 @@ __ieee754_sinhl(long double x) /* |x| > overflowthreshold, sinhl(x) overflow */ return x*shuge; } -strong_alias (__ieee754_sinhl, __sinhl_finite) +libm_alias_finite (__ieee754_sinhl, __sinhl) diff --git a/sysdeps/ieee754/libm-alias-finite.h b/sysdeps/ieee754/libm-alias-finite.h new file mode 100644 index 0000000000..95b8c04073 --- /dev/null +++ b/sysdeps/ieee754/libm-alias-finite.h @@ -0,0 +1,39 @@ +/* Finite math compatibility macros. + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef _LIBM_ALIAS_FINITE_H +#define _LIBM_ALIAS_FINITE_H + +#include <first-versions.h> +#include <shlib-compat.h> + +/* The -ffinite-math symbols were added on GLIBC 2.15 and moved to compat + symbol so newer architectures do not require to support it. */ +#if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_31) +# define libm_alias_finite(from, to) \ + libm_alias_finite1(from, to) +# define libm_alias_finite1(from, to) \ +compat_symbol (libm, \ + from, \ + to ## _finite, \ + FIRST_VERSION_libm_ ## to ## _finite); +#else +# define libm_alias_finite(from, to) +#endif + +#endif diff --git a/sysdeps/m68k/coldfire/fpu/e_sqrt.c b/sysdeps/m68k/coldfire/fpu/e_sqrt.c index 02ad2ac383..c67630d1b8 100644 --- a/sysdeps/m68k/coldfire/fpu/e_sqrt.c +++ b/sysdeps/m68k/coldfire/fpu/e_sqrt.c @@ -15,10 +15,12 @@ License along with the GNU C Library. If not, see <https://www.gnu.org/licenses/>. */ +#include <libm-alias-finite.h> + double __ieee754_sqrt (double x) { asm ("fdsqrt.d %1,%0" : "=f" (x) : "fm" (x)); return x; } -strong_alias (__ieee754_sqrt, __sqrt_finite) +libm_alias_finite (__ieee754_sqrt, __sqrt) diff --git a/sysdeps/m68k/coldfire/fpu/e_sqrtf.c b/sysdeps/m68k/coldfire/fpu/e_sqrtf.c index d3079f38f1..c2e4928957 100644 --- a/sysdeps/m68k/coldfire/fpu/e_sqrtf.c +++ b/sysdeps/m68k/coldfire/fpu/e_sqrtf.c @@ -15,6 +15,8 @@ License along with the GNU C Library. If not, see <https://www.gnu.org/licenses/>. */ +#include <libm-alias-finite.h> + float __ieee754_sqrtf (float x) { @@ -22,4 +24,4 @@ __ieee754_sqrtf (float x) asm ("fssqrt.s %1,%0" : "=f" (result) : "dm" (x)); return result; } -strong_alias (__ieee754_sqrtf, __sqrtf_finite) +libm_alias_finite (__ieee754_sqrtf, __sqrtf) diff --git a/sysdeps/m68k/m680x0/fpu/e_acos.c b/sysdeps/m68k/m680x0/fpu/e_acos.c index 870f190cd0..7fbd123847 100644 --- a/sysdeps/m68k/m680x0/fpu/e_acos.c +++ b/sysdeps/m68k/m680x0/fpu/e_acos.c @@ -18,10 +18,11 @@ #include <math.h> #include <math_private.h> #include "mathimpl.h" +#include <libm-alias-finite.h> #ifndef FUNC # define FUNC __ieee754_acos -# define FUNC_FINITE __acos_finite +# define FUNC_FINITE __acos #endif #ifndef float_type # define float_type double @@ -33,5 +34,5 @@ FUNC (float_type x) return __m81_u(FUNC)(x); } #ifdef FUNC_FINITE -strong_alias (FUNC, FUNC_FINITE) +libm_alias_finite (FUNC, FUNC_FINITE) #endif diff --git a/sysdeps/m68k/m680x0/fpu/e_acosf.c b/sysdeps/m68k/m680x0/fpu/e_acosf.c index 300fff601e..b21d8b715d 100644 --- a/sysdeps/m68k/m680x0/fpu/e_acosf.c +++ b/sysdeps/m68k/m680x0/fpu/e_acosf.c @@ -1,6 +1,6 @@ #ifndef FUNC # define FUNC __ieee754_acosf -# define FUNC_FINITE __acosf_finite +# define FUNC_FINITE __acosf #endif #define float_type float #include <e_acos.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_acosl.c b/sysdeps/m68k/m680x0/fpu/e_acosl.c index 35767f4e23..b1c2c70b5d 100644 --- a/sysdeps/m68k/m680x0/fpu/e_acosl.c +++ b/sysdeps/m68k/m680x0/fpu/e_acosl.c @@ -1,6 +1,6 @@ #ifndef FUNC # define FUNC __ieee754_acosl -# define FUNC_FINITE __acosl_finite +# define FUNC_FINITE __acosl #endif #define float_type long double #include <e_acos.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_asin.c b/sysdeps/m68k/m680x0/fpu/e_asin.c index 271a1f23d2..76f28680cb 100644 --- a/sysdeps/m68k/m680x0/fpu/e_asin.c +++ b/sysdeps/m68k/m680x0/fpu/e_asin.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_asin -#define FUNC_FINITE __asin_finite +#define FUNC_FINITE __asin #include <e_acos.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_asinf.c b/sysdeps/m68k/m680x0/fpu/e_asinf.c index ece691c6fb..db051be884 100644 --- a/sysdeps/m68k/m680x0/fpu/e_asinf.c +++ b/sysdeps/m68k/m680x0/fpu/e_asinf.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_asinf -#define FUNC_FINITE __asinf_finite +#define FUNC_FINITE __asinf #include <e_acosf.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_asinl.c b/sysdeps/m68k/m680x0/fpu/e_asinl.c index 0c136f30eb..d0aa4fa658 100644 --- a/sysdeps/m68k/m680x0/fpu/e_asinl.c +++ b/sysdeps/m68k/m680x0/fpu/e_asinl.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_asinl -#define FUNC_FINITE __asinl_finite +#define FUNC_FINITE __asinl #include <e_acosl.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_atan2.c b/sysdeps/m68k/m680x0/fpu/e_atan2.c index d3b2bd1ecf..74b9c55180 100644 --- a/sysdeps/m68k/m680x0/fpu/e_atan2.c +++ b/sysdeps/m68k/m680x0/fpu/e_atan2.c @@ -18,6 +18,7 @@ #include <math.h> #include <math_private.h> #include "mathimpl.h" +#include <libm-alias-finite.h> #ifndef SUFF #define SUFF @@ -101,4 +102,4 @@ s(__ieee754_atan2) (float_type y, float_type x) } return z; } -strong_alias (s(__ieee754_atan2), CONCATX (s (__atan2), _finite)) +libm_alias_finite (s(__ieee754_atan2), s (__atan2)) diff --git a/sysdeps/m68k/m680x0/fpu/e_atanh.c b/sysdeps/m68k/m680x0/fpu/e_atanh.c index f5f7e7b520..50978bed34 100644 --- a/sysdeps/m68k/m680x0/fpu/e_atanh.c +++ b/sysdeps/m68k/m680x0/fpu/e_atanh.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_atanh -#define FUNC_FINITE __atanh_finite +#define FUNC_FINITE __atanh #include <e_acos.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_atanhf.c b/sysdeps/m68k/m680x0/fpu/e_atanhf.c index cb464cbb7d..d46ca735a0 100644 --- a/sysdeps/m68k/m680x0/fpu/e_atanhf.c +++ b/sysdeps/m68k/m680x0/fpu/e_atanhf.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_atanhf -#define FUNC_FINITE __atanhf_finite +#define FUNC_FINITE __atanhf #include <e_acosf.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_atanhl.c b/sysdeps/m68k/m680x0/fpu/e_atanhl.c index 8f276f5fad..0e58e14b3d 100644 --- a/sysdeps/m68k/m680x0/fpu/e_atanhl.c +++ b/sysdeps/m68k/m680x0/fpu/e_atanhl.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_atanhl -#define FUNC_FINITE __atanhl_finite +#define FUNC_FINITE __atanhl #include <e_acosl.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_cosh.c b/sysdeps/m68k/m680x0/fpu/e_cosh.c index aaba11be3a..2da818bc6c 100644 --- a/sysdeps/m68k/m680x0/fpu/e_cosh.c +++ b/sysdeps/m68k/m680x0/fpu/e_cosh.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_cosh -#define FUNC_FINITE __cosh_finite +#define FUNC_FINITE __cosh #include <e_acos.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_coshf.c b/sysdeps/m68k/m680x0/fpu/e_coshf.c index 0884741c5c..11f3a20c61 100644 --- a/sysdeps/m68k/m680x0/fpu/e_coshf.c +++ b/sysdeps/m68k/m680x0/fpu/e_coshf.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_coshf -#define FUNC_FINITE __coshf_finite +#define FUNC_FINITE __coshf #include <e_acosf.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_coshl.c b/sysdeps/m68k/m680x0/fpu/e_coshl.c index 7fc9b7b91c..7fdc933787 100644 --- a/sysdeps/m68k/m680x0/fpu/e_coshl.c +++ b/sysdeps/m68k/m680x0/fpu/e_coshl.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_coshl -#define FUNC_FINITE __coshl_finite +#define FUNC_FINITE __coshl #include <e_acosl.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_exp.c b/sysdeps/m68k/m680x0/fpu/e_exp.c index 9f228034a1..a302e26ea4 100644 --- a/sysdeps/m68k/m680x0/fpu/e_exp.c +++ b/sysdeps/m68k/m680x0/fpu/e_exp.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_exp -#define FUNC_FINITE __exp_finite +#define FUNC_FINITE __exp #include <e_acos.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_exp10.c b/sysdeps/m68k/m680x0/fpu/e_exp10.c index e66a80599c..a2224acbe6 100644 --- a/sysdeps/m68k/m680x0/fpu/e_exp10.c +++ b/sysdeps/m68k/m680x0/fpu/e_exp10.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_exp10 -#define FUNC_FINITE __exp10_finite +#define FUNC_FINITE __exp10 #include <e_acos.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_exp10f.c b/sysdeps/m68k/m680x0/fpu/e_exp10f.c index 7a3bdd4186..f58fddd8a6 100644 --- a/sysdeps/m68k/m680x0/fpu/e_exp10f.c +++ b/sysdeps/m68k/m680x0/fpu/e_exp10f.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_exp10f -#define FUNC_FINITE __exp10f_finite +#define FUNC_FINITE __exp10f #include <e_acosf.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_exp10l.c b/sysdeps/m68k/m680x0/fpu/e_exp10l.c index e2a6255a76..2051ed4971 100644 --- a/sysdeps/m68k/m680x0/fpu/e_exp10l.c +++ b/sysdeps/m68k/m680x0/fpu/e_exp10l.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_exp10l -#define FUNC_FINITE __exp10l_finite +#define FUNC_FINITE __exp10l #include <e_acosl.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_exp2.c b/sysdeps/m68k/m680x0/fpu/e_exp2.c index 35e29ae653..7ff26f0dc8 100644 --- a/sysdeps/m68k/m680x0/fpu/e_exp2.c +++ b/sysdeps/m68k/m680x0/fpu/e_exp2.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_exp2 -#define FUNC_FINITE __exp2_finite +#define FUNC_FINITE __exp2 #include <e_acos.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_exp2f.c b/sysdeps/m68k/m680x0/fpu/e_exp2f.c index e57ddb5365..68557e41ee 100644 --- a/sysdeps/m68k/m680x0/fpu/e_exp2f.c +++ b/sysdeps/m68k/m680x0/fpu/e_exp2f.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_exp2f -#define FUNC_FINITE __exp2f_finite +#define FUNC_FINITE __exp2f #include <e_acosf.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_exp2l.c b/sysdeps/m68k/m680x0/fpu/e_exp2l.c index c5854ae427..e3b191d8ff 100644 --- a/sysdeps/m68k/m680x0/fpu/e_exp2l.c +++ b/sysdeps/m68k/m680x0/fpu/e_exp2l.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_exp2l -#define FUNC_FINITE __exp2l_finite +#define FUNC_FINITE __exp2l #include <e_acosl.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_expf.c b/sysdeps/m68k/m680x0/fpu/e_expf.c index af1e019504..76aa5ff3d6 100644 --- a/sysdeps/m68k/m680x0/fpu/e_expf.c +++ b/sysdeps/m68k/m680x0/fpu/e_expf.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_expf -#define FUNC_FINITE __expf_finite +#define FUNC_FINITE __expf #include <e_acosf.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_expl.c b/sysdeps/m68k/m680x0/fpu/e_expl.c index 543eb0edf5..b807c51bf5 100644 --- a/sysdeps/m68k/m680x0/fpu/e_expl.c +++ b/sysdeps/m68k/m680x0/fpu/e_expl.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_expl -#define FUNC_FINITE __expl_finite +#define FUNC_FINITE __expl #include <e_acosl.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_fmod.c b/sysdeps/m68k/m680x0/fpu/e_fmod.c index 1fb40eda95..08418f6e30 100644 --- a/sysdeps/m68k/m680x0/fpu/e_fmod.c +++ b/sysdeps/m68k/m680x0/fpu/e_fmod.c @@ -18,10 +18,11 @@ #include <math.h> #include <math_private.h> #include "mathimpl.h" +#include <libm-alias-finite.h> #ifndef FUNC # define FUNC __ieee754_fmod -# define FUNC_FINITE __fmod_finite +# define FUNC_FINITE __fmod #endif #ifndef float_type # define float_type double @@ -33,5 +34,5 @@ FUNC (float_type x, float_type y) return __m81_u(FUNC)(x, y); } #ifdef FUNC_FINITE -strong_alias (FUNC, FUNC_FINITE) +libm_alias_finite (FUNC, FUNC_FINITE) #endif diff --git a/sysdeps/m68k/m680x0/fpu/e_fmodf.c b/sysdeps/m68k/m680x0/fpu/e_fmodf.c index 38995c3768..ffae68f17f 100644 --- a/sysdeps/m68k/m680x0/fpu/e_fmodf.c +++ b/sysdeps/m68k/m680x0/fpu/e_fmodf.c @@ -1,6 +1,6 @@ #ifndef FUNC # define FUNC __ieee754_fmodf -# define FUNC_FINITE __fmodf_finite +# define FUNC_FINITE __fmodf #endif #define float_type float #include <e_fmod.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_fmodl.c b/sysdeps/m68k/m680x0/fpu/e_fmodl.c index 8d793b2de7..8f1cbabda6 100644 --- a/sysdeps/m68k/m680x0/fpu/e_fmodl.c +++ b/sysdeps/m68k/m680x0/fpu/e_fmodl.c @@ -1,6 +1,6 @@ #ifndef FUNC # define FUNC __ieee754_fmodl -# define FUNC_FINITE __fmodl_finite +# define FUNC_FINITE __fmodl #endif #define float_type long double #include <e_fmod.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_log.c b/sysdeps/m68k/m680x0/fpu/e_log.c index 628c62b31a..acc113b952 100644 --- a/sysdeps/m68k/m680x0/fpu/e_log.c +++ b/sysdeps/m68k/m680x0/fpu/e_log.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_log -#define FUNC_FINITE __log_finite +#define FUNC_FINITE __log #include <e_acos.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_log10.c b/sysdeps/m68k/m680x0/fpu/e_log10.c index 78e0693e9d..11ff6c2801 100644 --- a/sysdeps/m68k/m680x0/fpu/e_log10.c +++ b/sysdeps/m68k/m680x0/fpu/e_log10.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_log10 -#define FUNC_FINITE __log10_finite +#define FUNC_FINITE __log10 #include <e_acos.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_log10f.c b/sysdeps/m68k/m680x0/fpu/e_log10f.c index 452a75ec15..fd54c47da4 100644 --- a/sysdeps/m68k/m680x0/fpu/e_log10f.c +++ b/sysdeps/m68k/m680x0/fpu/e_log10f.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_log10f -#define FUNC_FINITE __log10f_finite +#define FUNC_FINITE __log10f #include <e_acosf.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_log10l.c b/sysdeps/m68k/m680x0/fpu/e_log10l.c index 7c5dcb8e18..5807d3d50a 100644 --- a/sysdeps/m68k/m680x0/fpu/e_log10l.c +++ b/sysdeps/m68k/m680x0/fpu/e_log10l.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_log10l -#define FUNC_FINITE __log10l_finite +#define FUNC_FINITE __log10l #include <e_acosl.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_log2.c b/sysdeps/m68k/m680x0/fpu/e_log2.c index a00ddbdc96..74610e58f6 100644 --- a/sysdeps/m68k/m680x0/fpu/e_log2.c +++ b/sysdeps/m68k/m680x0/fpu/e_log2.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_log2 -#define FUNC_FINITE __log2_finite +#define FUNC_FINITE __log2 #include <e_acos.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_log2f.c b/sysdeps/m68k/m680x0/fpu/e_log2f.c index 670b69c8a9..77ea067429 100644 --- a/sysdeps/m68k/m680x0/fpu/e_log2f.c +++ b/sysdeps/m68k/m680x0/fpu/e_log2f.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_log2f -#define FUNC_FINITE __log2f_finite +#define FUNC_FINITE __log2f #include <e_acosf.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_log2l.c b/sysdeps/m68k/m680x0/fpu/e_log2l.c index 4a97a00235..72e6bf4fad 100644 --- a/sysdeps/m68k/m680x0/fpu/e_log2l.c +++ b/sysdeps/m68k/m680x0/fpu/e_log2l.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_log2l -#define FUNC_FINITE __log2l_finite +#define FUNC_FINITE __log2l #include <e_acosl.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_logf.c b/sysdeps/m68k/m680x0/fpu/e_logf.c index 1989a95431..0fa0311dde 100644 --- a/sysdeps/m68k/m680x0/fpu/e_logf.c +++ b/sysdeps/m68k/m680x0/fpu/e_logf.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_logf -#define FUNC_FINITE __logf_finite +#define FUNC_FINITE __logf #include <e_acosf.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_logl.c b/sysdeps/m68k/m680x0/fpu/e_logl.c index 9ab842c3fc..322ebdab85 100644 --- a/sysdeps/m68k/m680x0/fpu/e_logl.c +++ b/sysdeps/m68k/m680x0/fpu/e_logl.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_logl -#define FUNC_FINITE __logl_finite +#define FUNC_FINITE __logl #include <e_acosl.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_pow.c b/sysdeps/m68k/m680x0/fpu/e_pow.c index d30d8452dc..b073d88037 100644 --- a/sysdeps/m68k/m680x0/fpu/e_pow.c +++ b/sysdeps/m68k/m680x0/fpu/e_pow.c @@ -18,6 +18,7 @@ #include <math.h> #include <math_private.h> #include "mathimpl.h" +#include <libm-alias-finite.h> #ifndef SUFF #define SUFF @@ -123,4 +124,4 @@ s(__ieee754_pow) (float_type x, float_type y) z = m81(__ieee754_exp) (y * m81(__ieee754_log) (x)); return z; } -strong_alias (s(__ieee754_pow), CONCATX (s(__pow), _finite)) +libm_alias_finite (s(__ieee754_pow), s (__pow)) diff --git a/sysdeps/m68k/m680x0/fpu/e_remainder.c b/sysdeps/m68k/m680x0/fpu/e_remainder.c index f7732af8c5..cc1422c48b 100644 --- a/sysdeps/m68k/m680x0/fpu/e_remainder.c +++ b/sysdeps/m68k/m680x0/fpu/e_remainder.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_remainder -#define FUNC_FINITE __remainder_finite +#define FUNC_FINITE __remainder #include <e_fmod.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_remainderf.c b/sysdeps/m68k/m680x0/fpu/e_remainderf.c index 94b53e7a80..77f1f029b0 100644 --- a/sysdeps/m68k/m680x0/fpu/e_remainderf.c +++ b/sysdeps/m68k/m680x0/fpu/e_remainderf.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_remainderf -#define FUNC_FINITE __remainderf_finite +#define FUNC_FINITE __remainderf #include <e_fmodf.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_remainderl.c b/sysdeps/m68k/m680x0/fpu/e_remainderl.c index d5b59607ab..ce3490a5ec 100644 --- a/sysdeps/m68k/m680x0/fpu/e_remainderl.c +++ b/sysdeps/m68k/m680x0/fpu/e_remainderl.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_remainderl -#define FUNC_FINITE __remainderl_finite +#define FUNC_FINITE __remainderl #include <e_fmodl.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_scalb.c b/sysdeps/m68k/m680x0/fpu/e_scalb.c index eea705cfde..b1be8607cb 100644 --- a/sysdeps/m68k/m680x0/fpu/e_scalb.c +++ b/sysdeps/m68k/m680x0/fpu/e_scalb.c @@ -19,6 +19,7 @@ #include <math.h> #include <math_private.h> #include "mathimpl.h" +#include <libm-alias-finite.h> #ifndef SUFF #define SUFF @@ -57,4 +58,4 @@ s(__ieee754_scalb) (float_type x, float_type fn) __asm ("fscale%.x %1, %0" : "=f" (retval) : "f" (fn), "0" (x)); return retval; } -strong_alias (s(__ieee754_scalb), CONCATX (s(__scalb), _finite)) +libm_alias_finite (s(__ieee754_scalb), s (__scalb)) diff --git a/sysdeps/m68k/m680x0/fpu/e_sinh.c b/sysdeps/m68k/m680x0/fpu/e_sinh.c index 1e1b1c1180..3ab63c52da 100644 --- a/sysdeps/m68k/m680x0/fpu/e_sinh.c +++ b/sysdeps/m68k/m680x0/fpu/e_sinh.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_sinh -#define FUNC_FINITE __sinh_finite +#define FUNC_FINITE __sinh #include <e_acos.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_sinhf.c b/sysdeps/m68k/m680x0/fpu/e_sinhf.c index 13c79f9d96..20f460b8bf 100644 --- a/sysdeps/m68k/m680x0/fpu/e_sinhf.c +++ b/sysdeps/m68k/m680x0/fpu/e_sinhf.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_sinhf -#define FUNC_FINITE __sinhf_finite +#define FUNC_FINITE __sinhf #include <e_acosf.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_sinhl.c b/sysdeps/m68k/m680x0/fpu/e_sinhl.c index 47f0f24401..bf85464405 100644 --- a/sysdeps/m68k/m680x0/fpu/e_sinhl.c +++ b/sysdeps/m68k/m680x0/fpu/e_sinhl.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_sinhl -#define FUNC_FINITE __sinhl_finite +#define FUNC_FINITE __sinhl #include <e_acosl.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_sqrt.c b/sysdeps/m68k/m680x0/fpu/e_sqrt.c index 9a250cbc25..57a90d853d 100644 --- a/sysdeps/m68k/m680x0/fpu/e_sqrt.c +++ b/sysdeps/m68k/m680x0/fpu/e_sqrt.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_sqrt -#define FUNC_FINITE __sqrt_finite +#define FUNC_FINITE __sqrt #include <e_acos.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_sqrtf.c b/sysdeps/m68k/m680x0/fpu/e_sqrtf.c index 372c3eb2f4..8681e29fae 100644 --- a/sysdeps/m68k/m680x0/fpu/e_sqrtf.c +++ b/sysdeps/m68k/m680x0/fpu/e_sqrtf.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_sqrtf -#define FUNC_FINITE __sqrtf_finite +#define FUNC_FINITE __sqrtf #include <e_acosf.c> diff --git a/sysdeps/m68k/m680x0/fpu/e_sqrtl.c b/sysdeps/m68k/m680x0/fpu/e_sqrtl.c index df5f44e6a7..6a109d2410 100644 --- a/sysdeps/m68k/m680x0/fpu/e_sqrtl.c +++ b/sysdeps/m68k/m680x0/fpu/e_sqrtl.c @@ -1,3 +1,3 @@ #define FUNC __ieee754_sqrtl -#define FUNC_FINITE __sqrtl_finite +#define FUNC_FINITE __sqrtl #include <e_acosl.c> diff --git a/sysdeps/mips/fpu/e_sqrt.c b/sysdeps/mips/fpu/e_sqrt.c index 20cf6e6703..47488e993c 100644 --- a/sysdeps/mips/fpu/e_sqrt.c +++ b/sysdeps/mips/fpu/e_sqrt.c @@ -18,7 +18,7 @@ #include <sgidefs.h> - +#include <libm-alias-finite.h> #if (_MIPS_ISA >= _MIPS_ISA_MIPS2) @@ -29,7 +29,7 @@ __ieee754_sqrt (double x) __asm__ ("sqrt.d %0,%1" : "=f" (z) : "f" (x)); return z; } -strong_alias (__ieee754_sqrt, __sqrt_finite) +libm_alias_finite (__ieee754_sqrt, __sqrt) #else diff --git a/sysdeps/mips/fpu/e_sqrtf.c b/sysdeps/mips/fpu/e_sqrtf.c index a91e330c13..dc33788bf3 100644 --- a/sysdeps/mips/fpu/e_sqrtf.c +++ b/sysdeps/mips/fpu/e_sqrtf.c @@ -18,7 +18,7 @@ #include <sgidefs.h> - +#include <libm-alias-finite.h> #if (_MIPS_ISA >= _MIPS_ISA_MIPS2) @@ -29,7 +29,7 @@ __ieee754_sqrtf (float x) __asm__ ("sqrt.s %0,%1" : "=f" (z) : "f" (x)); return z; } -strong_alias (__ieee754_sqrtf, __sqrtf_finite) +libm_alias_finite (__ieee754_sqrtf, __sqrtf) #else diff --git a/sysdeps/mips/mips64/e_sqrtl.c b/sysdeps/mips/mips64/e_sqrtl.c index 761fc186f2..4f8e6e45ef 100644 --- a/sysdeps/mips/mips64/e_sqrtl.c +++ b/sysdeps/mips/mips64/e_sqrtl.c @@ -21,6 +21,7 @@ #include <stdlib.h> #include <soft-fp.h> #include <quad.h> +#include <libm-alias-finite.h> long double __ieee754_sqrtl (const long double a) @@ -36,4 +37,4 @@ __ieee754_sqrtl (const long double a) FP_HANDLE_EXCEPTIONS; return c; } -strong_alias (__ieee754_sqrtl, __sqrtl_finite) +libm_alias_finite (__ieee754_sqrtl, __sqrtl) diff --git a/sysdeps/powerpc/fpu/e_hypot.c b/sysdeps/powerpc/fpu/e_hypot.c index 0466b22232..df594412c5 100644 --- a/sysdeps/powerpc/fpu/e_hypot.c +++ b/sysdeps/powerpc/fpu/e_hypot.c @@ -21,6 +21,7 @@ #include <math_private.h> #include <math-underflow.h> #include <stdint.h> +#include <libm-alias-finite.h> /* __ieee754_hypot(x,y) * @@ -82,4 +83,6 @@ __ieee754_hypot (double x, double y) } return sqrt (x * x + y * y); } -strong_alias (__ieee754_hypot, __hypot_finite) +#ifndef __ieee754_hypot +libm_alias_finite (__ieee754_hypot, __hypot) +#endif diff --git a/sysdeps/powerpc/fpu/e_hypotf.c b/sysdeps/powerpc/fpu/e_hypotf.c index 4fe9bbf9e0..acfe29b2ac 100644 --- a/sysdeps/powerpc/fpu/e_hypotf.c +++ b/sysdeps/powerpc/fpu/e_hypotf.c @@ -20,6 +20,7 @@ #include <math.h> #include <math_private.h> #include <stdint.h> +#include <libm-alias-finite.h> /* __ieee754_hypotf(x,y) @@ -73,4 +74,6 @@ __ieee754_hypotf (float x, float y) return sqrt ((double) x * x + (double) y * y); } -strong_alias (__ieee754_hypotf, __hypotf_finite) +#ifndef __ieee754_hypotf +libm_alias_finite (__ieee754_hypotf, __hypotf) +#endif diff --git a/sysdeps/powerpc/fpu/e_sqrt.c b/sysdeps/powerpc/fpu/e_sqrt.c index 1e584c5b44..a47f77966f 100644 --- a/sysdeps/powerpc/fpu/e_sqrt.c +++ b/sysdeps/powerpc/fpu/e_sqrt.c @@ -24,6 +24,7 @@ #include <stdint.h> #include <sysdep.h> #include <ldsodefs.h> +#include <libm-alias-finite.h> #ifndef _ARCH_PPCSQ static const double almost_half = 0.5000000000000001; /* 0.5 + 2^-53 */ @@ -173,4 +174,4 @@ __ieee754_sqrt (double x) return z; } -strong_alias (__ieee754_sqrt, __sqrt_finite) +libm_alias_finite (__ieee754_sqrt, __sqrt) diff --git a/sysdeps/powerpc/fpu/e_sqrtf.c b/sysdeps/powerpc/fpu/e_sqrtf.c index 25273f19fb..f119dcf5d9 100644 --- a/sysdeps/powerpc/fpu/e_sqrtf.c +++ b/sysdeps/powerpc/fpu/e_sqrtf.c @@ -24,6 +24,7 @@ #include <stdint.h> #include <sysdep.h> #include <ldsodefs.h> +#include <libm-alias-finite.h> #ifndef _ARCH_PPCSQ static const float almost_half = 0.50000006; /* 0.5 + 2^-24 */ @@ -148,4 +149,4 @@ __ieee754_sqrtf (float x) return z; } -strong_alias (__ieee754_sqrtf, __sqrtf_finite) +libm_alias_finite (__ieee754_sqrtf, __sqrtf) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot-power7.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot-power7.c index 9854219e07..4d5db60a18 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot-power7.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot-power7.c @@ -18,9 +18,6 @@ #include <math.h> -#undef strong_alias -#define strong_alias(a, b) - #define __ieee754_hypot __ieee754_hypot_power7 #include <sysdeps/powerpc/fpu/e_hypot.c> diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot-ppc32.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot-ppc32.c index 5843ec1787..4df81e4aa7 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot-ppc32.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot-ppc32.c @@ -18,9 +18,6 @@ #include <math.h> -#undef strong_alias -#define strong_alias(a, b) - #define __ieee754_hypot __ieee754_hypot_ppc32 #include <sysdeps/powerpc/fpu/e_hypot.c> diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot.c index 9bf7fb12d9..a6c9b0658b 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot.c @@ -19,7 +19,7 @@ #include <math.h> #include <math_private.h> #include <math_ldbl_opt.h> -#include <shlib-compat.h> +#include <libm-alias-finite.h> #include "init-arch.h" extern __typeof (__ieee754_hypot) __ieee754_hypot_ppc32 attribute_hidden; @@ -30,4 +30,4 @@ libc_ifunc (__ieee754_hypot, ? __ieee754_hypot_power7 : __ieee754_hypot_ppc32); -strong_alias (__ieee754_hypot, __hypot_finite) +libm_alias_finite (__ieee754_hypot, __hypot) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf-power7.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf-power7.c index d45b17cb4e..fa3efaeffc 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf-power7.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf-power7.c @@ -18,9 +18,6 @@ #include <math.h> -#undef strong_alias -#define strong_alias(a, b) - #define __ieee754_hypotf __ieee754_hypotf_power7 #include <sysdeps/powerpc/fpu/e_hypotf.c> diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf-ppc32.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf-ppc32.c index 6d81381638..ff0c8084ca 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf-ppc32.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf-ppc32.c @@ -18,9 +18,6 @@ #include <math.h> -#undef strong_alias -#define strong_alias(a, b) - #define __ieee754_hypotf __ieee754_hypotf_ppc32 #include <sysdeps/ieee754/flt-32/e_hypotf.c> diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf.c index 48be6ff54f..130b51f337 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf.c @@ -19,7 +19,7 @@ #include <math.h> #include <math_private.h> #include <math_ldbl_opt.h> -#include <shlib-compat.h> +#include <libm-alias-finite.h> #include "init-arch.h" extern __typeof (__ieee754_hypotf) __ieee754_hypotf_ppc32 attribute_hidden; @@ -30,4 +30,4 @@ libc_ifunc (__ieee754_hypotf, ? __ieee754_hypotf_power7 : __ieee754_hypotf_ppc32); -strong_alias (__ieee754_hypotf, __hypotf_finite) +libm_alias_finite (__ieee754_hypotf, __hypotf) diff --git a/sysdeps/powerpc/powerpc64/le/fpu/e_sqrtf128.c b/sysdeps/powerpc/powerpc64/le/fpu/e_sqrtf128.c index 32c948c508..950bdad54a 100644 --- a/sysdeps/powerpc/powerpc64/le/fpu/e_sqrtf128.c +++ b/sysdeps/powerpc/powerpc64/le/fpu/e_sqrtf128.c @@ -27,6 +27,7 @@ <https://www.gnu.org/licenses/>. */ #include <math.h> +#include <libm-alias-finite.h> /* Unavoidable hacks since TFmode is assumed to be binary128 when -mabi=ibmlongdouble is used. */ @@ -53,4 +54,4 @@ __ieee754_sqrtf128 (__float128 a) FP_HANDLE_EXCEPTIONS; return r; } -strong_alias (__ieee754_sqrtf128, __sqrtf128_finite) +libm_alias_finite (__ieee754_sqrtf128, __sqrtf128) diff --git a/sysdeps/powerpc/powerpc64/le/power9/fpu/e_sqrtf128.c b/sysdeps/powerpc/powerpc64/le/power9/fpu/e_sqrtf128.c index 9784f8dfb6..232fc773c3 100644 --- a/sysdeps/powerpc/powerpc64/le/power9/fpu/e_sqrtf128.c +++ b/sysdeps/powerpc/powerpc64/le/power9/fpu/e_sqrtf128.c @@ -26,6 +26,8 @@ License along with the GNU C Library; if not, see <https://www.gnu.org/licenses/>. */ +#include <libm-alias-finite.h> + __float128 __ieee754_sqrtf128 (__float128 a) { @@ -33,4 +35,4 @@ __ieee754_sqrtf128 (__float128 a) asm ("xssqrtqp %0,%1" : "=v" (z) : "v" (a)); return z; } -strong_alias (__ieee754_sqrtf128, __sqrtf128_finite) +libm_alias_finite (__ieee754_sqrtf128, __sqrtf128) diff --git a/sysdeps/riscv/e_sqrtl.c b/sysdeps/riscv/e_sqrtl.c index e502fe3384..18fe5f9a06 100644 --- a/sysdeps/riscv/e_sqrtl.c +++ b/sysdeps/riscv/e_sqrtl.c @@ -19,6 +19,7 @@ #include <stdlib.h> #include <soft-fp/soft-fp.h> #include <soft-fp/quad.h> +#include <libm-alias-finite.h> long double __ieee754_sqrtl (const long double a) @@ -34,4 +35,4 @@ __ieee754_sqrtl (const long double a) FP_HANDLE_EXCEPTIONS; return c; } -strong_alias (__ieee754_sqrtl, __sqrtl_finite) +libm_alias_finite (__ieee754_sqrtl, __sqrtl) diff --git a/sysdeps/riscv/rvd/e_sqrt.c b/sysdeps/riscv/rvd/e_sqrt.c index 110d6f63a6..7defcb5785 100644 --- a/sysdeps/riscv/rvd/e_sqrt.c +++ b/sysdeps/riscv/rvd/e_sqrt.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <math.h> +#include <libm-alias-finite.h> double __ieee754_sqrt (double x) @@ -24,4 +25,4 @@ __ieee754_sqrt (double x) asm ("fsqrt.d %0, %1" : "=f" (x) : "f" (x)); return x; } -strong_alias (__ieee754_sqrt, __sqrt_finite) +libm_alias_finite (__ieee754_sqrt, __sqrt) diff --git a/sysdeps/riscv/rvf/e_sqrtf.c b/sysdeps/riscv/rvf/e_sqrtf.c index 4d3ce1b668..04835e3e53 100644 --- a/sysdeps/riscv/rvf/e_sqrtf.c +++ b/sysdeps/riscv/rvf/e_sqrtf.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <math.h> +#include <libm-alias-finite.h> float __ieee754_sqrtf (float x) @@ -24,4 +25,4 @@ __ieee754_sqrtf (float x) asm ("fsqrt.s %0, %1" : "=f" (x) : "f" (x)); return x; } -strong_alias (__ieee754_sqrtf, __sqrtf_finite) +libm_alias_finite (__ieee754_sqrtf, __sqrtf) diff --git a/sysdeps/s390/fpu/e_sqrt.c b/sysdeps/s390/fpu/e_sqrt.c index 6113dc12c9..484c6aae95 100644 --- a/sysdeps/s390/fpu/e_sqrt.c +++ b/sysdeps/s390/fpu/e_sqrt.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <math_private.h> +#include <libm-alias-finite.h> double __ieee754_sqrt (double x) @@ -26,4 +27,4 @@ __ieee754_sqrt (double x) __asm__ ( "sqdbr %0,%1" : "=f" (res) : "f" (x) ); return res; } -strong_alias (__ieee754_sqrt, __sqrt_finite) +libm_alias_finite (__ieee754_sqrt, __sqrt) diff --git a/sysdeps/s390/fpu/e_sqrtf.c b/sysdeps/s390/fpu/e_sqrtf.c index 8209d6a479..bce49c90f1 100644 --- a/sysdeps/s390/fpu/e_sqrtf.c +++ b/sysdeps/s390/fpu/e_sqrtf.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <math_private.h> +#include <libm-alias-finite.h> float __ieee754_sqrtf (float x) @@ -26,4 +27,4 @@ __ieee754_sqrtf (float x) __asm__ ( "sqebr %0,%1" : "=f" (res) : "f" (x) ); return res; } -strong_alias (__ieee754_sqrtf, __sqrtf_finite) +libm_alias_finite (__ieee754_sqrtf, __sqrtf) diff --git a/sysdeps/s390/fpu/e_sqrtl.c b/sysdeps/s390/fpu/e_sqrtl.c index 28ee9a4017..ecf2090424 100644 --- a/sysdeps/s390/fpu/e_sqrtl.c +++ b/sysdeps/s390/fpu/e_sqrtl.c @@ -18,6 +18,7 @@ <https://www.gnu.org/licenses/>. */ #include <math_private.h> +#include <libm-alias-finite.h> long double __ieee754_sqrtl (long double x) @@ -27,4 +28,4 @@ __ieee754_sqrtl (long double x) __asm__ ( "sqxbr %0,%1" : "=f" (res) : "f" (x) ); return res; } -strong_alias (__ieee754_sqrtl, __sqrtl_finite) +libm_alias_finite (__ieee754_sqrtl, __sqrtl) diff --git a/sysdeps/sparc/sparc32/e_sqrt.c b/sysdeps/sparc/sparc32/e_sqrt.c index 5556e2b344..e8a42c4d7b 100644 --- a/sysdeps/sparc/sparc32/e_sqrt.c +++ b/sysdeps/sparc/sparc32/e_sqrt.c @@ -17,6 +17,7 @@ #include <errno.h> #include <math.h> +#include <libm-alias-finite.h> #ifndef __GNUC__ #error This file uses GNU C extensions; you must compile with GCC. @@ -30,4 +31,4 @@ __ieee754_sqrt (double x) asm ("fsqrtd %1, %0" : "=f" (result) : "f" (x)); return result; } -strong_alias (__ieee754_sqrt, __sqrt_finite) +libm_alias_finite (__ieee754_sqrt, __sqrt) diff --git a/sysdeps/sparc/sparc64/fpu/e_sqrtl.c b/sysdeps/sparc/sparc64/fpu/e_sqrtl.c index 2155759ad1..78c3c2794e 100644 --- a/sysdeps/sparc/sparc64/fpu/e_sqrtl.c +++ b/sysdeps/sparc/sparc64/fpu/e_sqrtl.c @@ -18,6 +18,7 @@ <https://www.gnu.org/licenses/>. */ #include <math.h> +#include <libm-alias-finite.h> extern void _Qp_sqrt(long double *, const long double *); @@ -28,4 +29,4 @@ __ieee754_sqrtl (long double x) _Qp_sqrt (&ret, &x); return ret; } -strong_alias (__ieee754_sqrtl, __sqrtl_finite) +libm_alias_finite (__ieee754_sqrtl, __sqrtl) diff --git a/sysdeps/x86/fpu/e_sqrtf128.c b/sysdeps/x86/fpu/e_sqrtf128.c index d94122b79d..3eeb948727 100644 --- a/sysdeps/x86/fpu/e_sqrtf128.c +++ b/sysdeps/x86/fpu/e_sqrtf128.c @@ -28,6 +28,7 @@ #include <soft-fp.h> #include <quad.h> +#include <libm-alias-finite.h> __float128 __ieee754_sqrtf128 (__float128 a) @@ -44,4 +45,4 @@ __ieee754_sqrtf128 (__float128 a) FP_HANDLE_EXCEPTIONS; return r; } -strong_alias (__ieee754_sqrtf128, __sqrtf128_finite) +libm_alias_finite (__ieee754_sqrtf128, __sqrtf128) diff --git a/sysdeps/x86_64/fpu/e_exp2l.S b/sysdeps/x86_64/fpu/e_exp2l.S index 0e059b7565..f16760840b 100644 --- a/sysdeps/x86_64/fpu/e_exp2l.S +++ b/sysdeps/x86_64/fpu/e_exp2l.S @@ -7,6 +7,7 @@ #include <machine/asm.h> #include <x86_64-math-asm.h> +#include <libm-alias-finite.h> DEFINE_LDBL_MIN @@ -55,4 +56,4 @@ ENTRY(__ieee754_exp2l) fldz /* Set result to 0. */ 2: ret END (__ieee754_exp2l) -strong_alias (__ieee754_exp2l, __exp2l_finite) +libm_alias_finite (__ieee754_exp2l, __exp2l) diff --git a/sysdeps/x86_64/fpu/e_expl.S b/sysdeps/x86_64/fpu/e_expl.S index b75a103803..9835ac2a3b 100644 --- a/sysdeps/x86_64/fpu/e_expl.S +++ b/sysdeps/x86_64/fpu/e_expl.S @@ -25,6 +25,7 @@ #include <libm-alias-ldouble.h> #include <machine/asm.h> #include <x86_64-math-asm.h> +#include <libm-alias-finite.h> #ifdef USE_AS_EXP10L # define IEEE754_EXPL __ieee754_exp10l @@ -212,9 +213,12 @@ ENTRY(IEEE754_EXPL) fadd %st ret END(IEEE754_EXPL) + #ifdef USE_AS_EXPM1L libm_hidden_def (__expm1l) libm_alias_ldouble (__expm1, expm1) +#elif defined USE_AS_EXP10L +libm_alias_finite (__ieee754_exp10l, __exp10l) #else -strong_alias (IEEE754_EXPL, EXPL_FINITE) +libm_alias_finite (__ieee754_expl, __expl) #endif diff --git a/sysdeps/x86_64/fpu/e_fmodl.S b/sysdeps/x86_64/fpu/e_fmodl.S index 07c50df8d1..a06ad6833b 100644 --- a/sysdeps/x86_64/fpu/e_fmodl.S +++ b/sysdeps/x86_64/fpu/e_fmodl.S @@ -7,6 +7,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> RCSID("$NetBSD: $") @@ -20,4 +21,4 @@ ENTRY(__ieee754_fmodl) fstp %st(1) ret END (__ieee754_fmodl) -strong_alias (__ieee754_fmodl, __fmodl_finite) +libm_alias_finite (__ieee754_fmodl, __fmodl) diff --git a/sysdeps/x86_64/fpu/e_log10l.S b/sysdeps/x86_64/fpu/e_log10l.S index e0cb88e32e..552bc00ad0 100644 --- a/sysdeps/x86_64/fpu/e_log10l.S +++ b/sysdeps/x86_64/fpu/e_log10l.S @@ -9,6 +9,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -90,3 +91,4 @@ ENTRY(__log10l_finite) fyl2xp1 // log10(x) ret END(__log10l_finite) +libm_alias_finite (__log10l_finite, __log10l) diff --git a/sysdeps/x86_64/fpu/e_log2l.S b/sysdeps/x86_64/fpu/e_log2l.S index 023ec29164..1459cef3d7 100644 --- a/sysdeps/x86_64/fpu/e_log2l.S +++ b/sysdeps/x86_64/fpu/e_log2l.S @@ -8,6 +8,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -89,3 +90,4 @@ ENTRY(__log2l_finite) fyl2xp1 // log(x) ret END (__log2l_finite) +libm_alias_finite (__log2l_finite, __log2l) diff --git a/sysdeps/x86_64/fpu/e_logl.S b/sysdeps/x86_64/fpu/e_logl.S index 0d3576f48b..37cd5b6ae9 100644 --- a/sysdeps/x86_64/fpu/e_logl.S +++ b/sysdeps/x86_64/fpu/e_logl.S @@ -7,7 +7,7 @@ */ #include <machine/asm.h> - +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -92,3 +92,4 @@ ENTRY(__logl_finite) fyl2xp1 // log(x) ret END (__logl_finite) +libm_alias_finite (__logl_finite, __logl) diff --git a/sysdeps/x86_64/fpu/e_powl.S b/sysdeps/x86_64/fpu/e_powl.S index dd84af5ac5..e88570cda4 100644 --- a/sysdeps/x86_64/fpu/e_powl.S +++ b/sysdeps/x86_64/fpu/e_powl.S @@ -19,6 +19,7 @@ #include <machine/asm.h> #include <x86_64-math-asm.h> +#include <libm-alias-finite.h> .section .rodata.cst8,"aM",@progbits,8 @@ -430,4 +431,4 @@ ENTRY(__ieee754_powl) ret END(__ieee754_powl) -strong_alias (__ieee754_powl, __powl_finite) +libm_alias_finite (__ieee754_powl, __powl) diff --git a/sysdeps/x86_64/fpu/e_remainderl.S b/sysdeps/x86_64/fpu/e_remainderl.S index 4ee0910912..994bfb3e80 100644 --- a/sysdeps/x86_64/fpu/e_remainderl.S +++ b/sysdeps/x86_64/fpu/e_remainderl.S @@ -7,6 +7,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> ENTRY(__ieee754_remainderl) fldt 24(%rsp) @@ -18,4 +19,4 @@ ENTRY(__ieee754_remainderl) fstp %st(1) ret END (__ieee754_remainderl) -strong_alias (__ieee754_remainderl, __remainderl_finite) +libm_alias_finite (__ieee754_remainderl, __remainderl) diff --git a/sysdeps/x86_64/fpu/e_scalbl.S b/sysdeps/x86_64/fpu/e_scalbl.S index 2982dc3b9e..c13cba4b13 100644 --- a/sysdeps/x86_64/fpu/e_scalbl.S +++ b/sysdeps/x86_64/fpu/e_scalbl.S @@ -9,6 +9,7 @@ */ #include <machine/asm.h> +#include <libm-alias-finite.h> .section .rodata @@ -86,4 +87,4 @@ ENTRY(__ieee754_scalbl) fdiv %st ret END(__ieee754_scalbl) -strong_alias (__ieee754_scalbl, __scalbl_finite) +libm_alias_finite (__ieee754_scalbl, __scalbl) diff --git a/sysdeps/x86_64/fpu/e_sqrt.c b/sysdeps/x86_64/fpu/e_sqrt.c index 7b62c80626..c1708f9b65 100644 --- a/sysdeps/x86_64/fpu/e_sqrt.c +++ b/sysdeps/x86_64/fpu/e_sqrt.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <math_private.h> +#include <libm-alias-finite.h> #undef __ieee754_sqrt double @@ -28,4 +29,4 @@ __ieee754_sqrt (double x) return res; } -strong_alias (__ieee754_sqrt, __sqrt_finite) +libm_alias_finite (__ieee754_sqrt, __sqrt) diff --git a/sysdeps/x86_64/fpu/e_sqrtf.c b/sysdeps/x86_64/fpu/e_sqrtf.c index 2002250184..6155c7be24 100644 --- a/sysdeps/x86_64/fpu/e_sqrtf.c +++ b/sysdeps/x86_64/fpu/e_sqrtf.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <math_private.h> +#include <libm-alias-finite.h> #undef __ieee754_sqrtf float @@ -28,4 +29,4 @@ __ieee754_sqrtf (float x) return res; } -strong_alias (__ieee754_sqrtf, __sqrtf_finite) +libm_alias_finite (__ieee754_sqrtf, __sqrtf) diff --git a/sysdeps/x86_64/fpu/multiarch/e_asin.c b/sysdeps/x86_64/fpu/multiarch/e_asin.c index bcd4a973d6..7cdb069e65 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_asin.c +++ b/sysdeps/x86_64/fpu/multiarch/e_asin.c @@ -16,6 +16,8 @@ License along with the GNU C Library; if not, see <https://www.gnu.org/licenses/>. */ +#include <libm-alias-finite.h> + extern double __redirect_ieee754_asin (double); extern double __redirect_ieee754_acos (double); @@ -24,7 +26,7 @@ extern double __redirect_ieee754_acos (double); libc_ifunc_redirected (__redirect_ieee754_asin, __ieee754_asin, IFUNC_SELECTOR ()); -strong_alias (__ieee754_asin, __asin_finite) +libm_alias_finite (__ieee754_asin, __asin) #undef SYMBOL_NAME #define SYMBOL_NAME ieee754_acos @@ -32,8 +34,7 @@ strong_alias (__ieee754_asin, __asin_finite) libc_ifunc_redirected (__redirect_ieee754_acos, __ieee754_acos, IFUNC_SELECTOR ()); -strong_alias (__ieee754_acos, __acos_finite) - +libm_alias_finite (__ieee754_acos, __acos) #define __ieee754_acos __ieee754_acos_sse2 #define __ieee754_asin __ieee754_asin_sse2 diff --git a/sysdeps/x86_64/fpu/multiarch/e_atan2.c b/sysdeps/x86_64/fpu/multiarch/e_atan2.c index dfd9b4eede..f06e980b1c 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_atan2.c +++ b/sysdeps/x86_64/fpu/multiarch/e_atan2.c @@ -16,6 +16,8 @@ License along with the GNU C Library; if not, see <https://www.gnu.org/licenses/>. */ +#include <libm-alias-finite.h> + extern double __redirect_ieee754_atan2 (double, double); #define SYMBOL_NAME ieee754_atan2 @@ -23,7 +25,7 @@ extern double __redirect_ieee754_atan2 (double, double); libc_ifunc_redirected (__redirect_ieee754_atan2, __ieee754_atan2, IFUNC_SELECTOR ()); -strong_alias (__ieee754_atan2, __atan2_finite) +libm_alias_finite (__ieee754_atan2, __atan2) #define __ieee754_atan2 __ieee754_atan2_sse2 #include <sysdeps/ieee754/dbl-64/e_atan2.c> diff --git a/sysdeps/x86_64/fpu/multiarch/e_exp.c b/sysdeps/x86_64/fpu/multiarch/e_exp.c index 9193e8bcdf..5979909a02 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_exp.c +++ b/sysdeps/x86_64/fpu/multiarch/e_exp.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <math.h> +#include <libm-alias-finite.h> extern double __redirect_ieee754_exp (double); @@ -25,7 +26,7 @@ extern double __redirect_ieee754_exp (double); libc_ifunc_redirected (__redirect_ieee754_exp, __ieee754_exp, IFUNC_SELECTOR ()); -strong_alias (__ieee754_exp, __exp_finite) +libm_alias_finite (__ieee754_exp, __exp) #define __exp __ieee754_exp_sse2 #include <sysdeps/ieee754/dbl-64/e_exp.c> diff --git a/sysdeps/x86_64/fpu/multiarch/e_exp2f.c b/sysdeps/x86_64/fpu/multiarch/e_exp2f.c index 3a90f5cd2d..ea4ae72318 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_exp2f.c +++ b/sysdeps/x86_64/fpu/multiarch/e_exp2f.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <libm-alias-float.h> +#include <libm-alias-finite.h> extern float __redirect_exp2f (float); @@ -26,15 +27,14 @@ extern float __redirect_exp2f (float); libc_ifunc_redirected (__redirect_exp2f, __exp2f, IFUNC_SELECTOR ()); #ifdef SHARED -# include <shlib-compat.h> -versioned_symbol (libm, __exp2f, exp2f, GLIBC_2_27); +versioned_symbol (libm, __ieee754_exp2f, exp2f, GLIBC_2_27); libm_alias_float_other (__exp2, exp2) #else libm_alias_float (__exp2, exp2) #endif strong_alias (__exp2f, __ieee754_exp2f) -strong_alias (__exp2f, __exp2f_finite) +libm_alias_finite (__exp2f, __exp2f) #define __exp2f __exp2f_sse2 #include <sysdeps/ieee754/flt-32/e_exp2f.c> diff --git a/sysdeps/x86_64/fpu/multiarch/e_expf.c b/sysdeps/x86_64/fpu/multiarch/e_expf.c index 4ccee5bf13..f685f31089 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_expf.c +++ b/sysdeps/x86_64/fpu/multiarch/e_expf.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <libm-alias-float.h> +#include <libm-alias-finite.h> extern float __redirect_expf (float); @@ -29,15 +30,14 @@ libc_ifunc_redirected (__redirect_expf, __expf, IFUNC_SELECTOR ()); __hidden_ver1 (__expf, __GI___expf, __redirect_expf) __attribute__ ((visibility ("hidden"))); -# include <shlib-compat.h> -versioned_symbol (libm, __expf, expf, GLIBC_2_27); +versioned_symbol (libm, __ieee754_expf, expf, GLIBC_2_27); libm_alias_float_other (__exp, exp) #else libm_alias_float (__exp, exp) #endif strong_alias (__expf, __ieee754_expf) -strong_alias (__expf, __expf_finite) +libm_alias_finite (__expf, __expf) #define __expf __expf_sse2 #include <sysdeps/ieee754/flt-32/e_expf.c> diff --git a/sysdeps/x86_64/fpu/multiarch/e_log.c b/sysdeps/x86_64/fpu/multiarch/e_log.c index 14c9a94510..81348627c2 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_log.c +++ b/sysdeps/x86_64/fpu/multiarch/e_log.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <math.h> +#include <libm-alias-finite.h> extern double __redirect_ieee754_log (double); @@ -25,7 +26,7 @@ extern double __redirect_ieee754_log (double); libc_ifunc_redirected (__redirect_ieee754_log, __ieee754_log, IFUNC_SELECTOR ()); -strong_alias (__ieee754_log, __log_finite) +libm_alias_finite (__ieee754_log, __log) #define __log __ieee754_log_sse2 #include <sysdeps/ieee754/dbl-64/e_log.c> diff --git a/sysdeps/x86_64/fpu/multiarch/e_log2f.c b/sysdeps/x86_64/fpu/multiarch/e_log2f.c index 53f3d2ffc5..8410cbee0e 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_log2f.c +++ b/sysdeps/x86_64/fpu/multiarch/e_log2f.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <libm-alias-float.h> +#include <libm-alias-finite.h> extern float __redirect_log2f (float); @@ -29,15 +30,14 @@ libc_ifunc_redirected (__redirect_log2f, __log2f, IFUNC_SELECTOR ()); __hidden_ver1 (__log2f, __GI___log2f, __redirect_log2f) __attribute__ ((visibility ("hidden"))); -# include <shlib-compat.h> -versioned_symbol (libm, __log2f, log2f, GLIBC_2_27); +versioned_symbol (libm, __ieee754_log2f, log2f, GLIBC_2_27); libm_alias_float_other (__log2, log2) #else libm_alias_float (__log2, log2) #endif strong_alias (__log2f, __ieee754_log2f) -strong_alias (__log2f, __log2f_finite) +libm_alias_finite (__log2f, __log2f) #define __log2f __log2f_sse2 #include <sysdeps/ieee754/flt-32/e_log2f.c> diff --git a/sysdeps/x86_64/fpu/multiarch/e_logf.c b/sysdeps/x86_64/fpu/multiarch/e_logf.c index c03cc9464d..71faa7c587 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_logf.c +++ b/sysdeps/x86_64/fpu/multiarch/e_logf.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <libm-alias-float.h> +#include <libm-alias-finite.h> extern float __redirect_logf (float); @@ -29,15 +30,14 @@ libc_ifunc_redirected (__redirect_logf, __logf, IFUNC_SELECTOR ()); __hidden_ver1 (__logf, __GI___logf, __redirect_logf) __attribute__ ((visibility ("hidden"))); -# include <shlib-compat.h> -versioned_symbol (libm, __logf, logf, GLIBC_2_27); +versioned_symbol (libm, __ieee754_logf, logf, GLIBC_2_27); libm_alias_float_other (__log, log) #else libm_alias_float (__log, log) #endif strong_alias (__logf, __ieee754_logf) -strong_alias (__logf, __logf_finite) +libm_alias_finite (__logf, __logf) #define __logf __logf_sse2 #include <sysdeps/ieee754/flt-32/e_logf.c> diff --git a/sysdeps/x86_64/fpu/multiarch/e_pow.c b/sysdeps/x86_64/fpu/multiarch/e_pow.c index 6636c75c2e..c96aedd9d6 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_pow.c +++ b/sysdeps/x86_64/fpu/multiarch/e_pow.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <math.h> +#include <libm-alias-finite.h> extern double __redirect_ieee754_pow (double, double); @@ -25,7 +26,7 @@ extern double __redirect_ieee754_pow (double, double); libc_ifunc_redirected (__redirect_ieee754_pow, __ieee754_pow, IFUNC_SELECTOR ()); -strong_alias (__ieee754_pow, __pow_finite) +libm_alias_finite (__ieee754_pow, __pow) #define __pow __ieee754_pow_sse2 #include <sysdeps/ieee754/dbl-64/e_pow.c> diff --git a/sysdeps/x86_64/fpu/multiarch/e_powf.c b/sysdeps/x86_64/fpu/multiarch/e_powf.c index d83585bfdd..c5bd42b099 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_powf.c +++ b/sysdeps/x86_64/fpu/multiarch/e_powf.c @@ -17,6 +17,7 @@ <https://www.gnu.org/licenses/>. */ #include <libm-alias-float.h> +#include <libm-alias-finite.h> #define powf __redirect_powf #define __DECL_SIMD___redirect_powf @@ -32,15 +33,14 @@ libc_ifunc_redirected (__redirect_powf, __powf, IFUNC_SELECTOR ()); __hidden_ver1 (__powf, __GI___powf, __redirect_powf) __attribute__ ((visibility ("hidden"))); -# include <shlib-compat.h> -versioned_symbol (libm, __powf, powf, GLIBC_2_27); +versioned_symbol (libm, __ieee754_powf, powf, GLIBC_2_27); libm_alias_float_other (__pow, pow) #else libm_alias_float (__pow, pow) #endif strong_alias (__powf, __ieee754_powf) -strong_alias (__powf, __powf_finite) +libm_alias_finite (__powf, __powf) #define __powf __powf_sse2 #include <sysdeps/ieee754/flt-32/e_powf.c> |