diff options
Diffstat (limited to 'sysdeps/ieee754')
104 files changed, 293 insertions, 131 deletions
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 |