aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ieee754
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754')
-rw-r--r--sysdeps/ieee754/dbl-64/e_acosh.c3
-rw-r--r--sysdeps/ieee754/dbl-64/e_asin.c5
-rw-r--r--sysdeps/ieee754/dbl-64/e_atan2.c3
-rw-r--r--sysdeps/ieee754/dbl-64/e_atanh.c3
-rw-r--r--sysdeps/ieee754/dbl-64/e_cosh.c3
-rw-r--r--sysdeps/ieee754/dbl-64/e_exp.c4
-rw-r--r--sysdeps/ieee754/dbl-64/e_exp10.c3
-rw-r--r--sysdeps/ieee754/dbl-64/e_exp2.c4
-rw-r--r--sysdeps/ieee754/dbl-64/e_fmod.c3
-rw-r--r--sysdeps/ieee754/dbl-64/e_gamma_r.c3
-rw-r--r--sysdeps/ieee754/dbl-64/e_hypot.c5
-rw-r--r--sysdeps/ieee754/dbl-64/e_j0.c5
-rw-r--r--sysdeps/ieee754/dbl-64/e_j1.c5
-rw-r--r--sysdeps/ieee754/dbl-64/e_jn.c5
-rw-r--r--sysdeps/ieee754/dbl-64/e_lgamma_r.c3
-rw-r--r--sysdeps/ieee754/dbl-64/e_log.c4
-rw-r--r--sysdeps/ieee754/dbl-64/e_log10.c4
-rw-r--r--sysdeps/ieee754/dbl-64/e_log2.c4
-rw-r--r--sysdeps/ieee754/dbl-64/e_pow.c4
-rw-r--r--sysdeps/ieee754/dbl-64/e_remainder.c3
-rw-r--r--sysdeps/ieee754/dbl-64/e_sinh.c3
-rw-r--r--sysdeps/ieee754/dbl-64/e_sqrt.c5
-rw-r--r--sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c3
-rw-r--r--sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c3
-rw-r--r--sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c3
-rw-r--r--sysdeps/ieee754/dbl-64/wordsize-64/e_log10.c4
-rw-r--r--sysdeps/ieee754/float128/float128_private.h26
-rw-r--r--sysdeps/ieee754/flt-32/e_acosf.c3
-rw-r--r--sysdeps/ieee754/flt-32/e_acoshf.c3
-rw-r--r--sysdeps/ieee754/flt-32/e_asinf.c3
-rw-r--r--sysdeps/ieee754/flt-32/e_atan2f.c3
-rw-r--r--sysdeps/ieee754/flt-32/e_atanhf.c3
-rw-r--r--sysdeps/ieee754/flt-32/e_coshf.c3
-rw-r--r--sysdeps/ieee754/flt-32/e_exp2f.c4
-rw-r--r--sysdeps/ieee754/flt-32/e_expf.c4
-rw-r--r--sysdeps/ieee754/flt-32/e_fmodf.c3
-rw-r--r--sysdeps/ieee754/flt-32/e_gammaf_r.c3
-rw-r--r--sysdeps/ieee754/flt-32/e_hypotf.c5
-rw-r--r--sysdeps/ieee754/flt-32/e_j0f.c5
-rw-r--r--sysdeps/ieee754/flt-32/e_j1f.c5
-rw-r--r--sysdeps/ieee754/flt-32/e_jnf.c5
-rw-r--r--sysdeps/ieee754/flt-32/e_lgammaf_r.c3
-rw-r--r--sysdeps/ieee754/flt-32/e_log10f.c3
-rw-r--r--sysdeps/ieee754/flt-32/e_log2f.c4
-rw-r--r--sysdeps/ieee754/flt-32/e_logf.c4
-rw-r--r--sysdeps/ieee754/flt-32/e_powf.c4
-rw-r--r--sysdeps/ieee754/flt-32/e_remainderf.c3
-rw-r--r--sysdeps/ieee754/flt-32/e_sinhf.c3
-rw-r--r--sysdeps/ieee754/flt-32/e_sqrtf.c5
-rw-r--r--sysdeps/ieee754/ldbl-128/e_acoshl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_acosl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_asinl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_atan2l.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_atanhl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_coshl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_exp10l.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_expl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_fmodl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_gammal_r.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_hypotl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_j0l.c5
-rw-r--r--sysdeps/ieee754/ldbl-128/e_j1l.c5
-rw-r--r--sysdeps/ieee754/ldbl-128/e_jnl.c5
-rw-r--r--sysdeps/ieee754/ldbl-128/e_lgammal_r.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_log10l.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_log2l.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_logl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_powl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_remainderl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_sinhl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_acoshl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_acosl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_asinl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_atan2l.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_atanhl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_coshl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_exp10l.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_expl.c4
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_fmodl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_hypotl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_j0l.c5
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_j1l.c5
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_jnl.c5
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_log10l.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_log2l.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_logl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_powl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_remainderl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_sinhl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/e_acoshl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/e_asinl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/e_atanhl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/e_coshl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/e_gammal_r.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/e_hypotl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/e_j0l.c5
-rw-r--r--sysdeps/ieee754/ldbl-96/e_j1l.c5
-rw-r--r--sysdeps/ieee754/ldbl-96/e_jnl.c5
-rw-r--r--sysdeps/ieee754/ldbl-96/e_lgammal_r.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/e_sinhl.c3
-rw-r--r--sysdeps/ieee754/libm-alias-finite.h39
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