about summary refs log tree commit diff
path: root/sysdeps/ieee754/dbl-64
diff options
context:
space:
mode:
authorWilco Dijkstra <Wilco.Dijkstra@arm.com>2019-07-16 12:17:22 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-01-03 10:02:04 -0300
commit220622dde5704c95a100c2792a280f18f3deba73 (patch)
treefbf0df37c2671a9bc21a200bd2f587fc5e4cbe2b /sysdeps/ieee754/dbl-64
parentcf4dfd461725b6dbe6f27fbd16913f2c6c5cf7c5 (diff)
downloadglibc-220622dde5704c95a100c2792a280f18f3deba73.tar.gz
glibc-220622dde5704c95a100c2792a280f18f3deba73.tar.xz
glibc-220622dde5704c95a100c2792a280f18f3deba73.zip
Add libm_alias_finite for _finite symbols
This patch adds a new macro, libm_alias_finite, to define all _finite
symbol.  It sets all _finite symbol as compat symbol based on its first
version (obtained from the definition at built generated first-versions.h).

The <fn>f128_finite symbols were introduced in GLIBC 2.26 and so need
special treatment in code that is shared between long double and float128.
It is done by adding a list, similar to internal symbol redifinition,
on sysdeps/ieee754/float128/float128_private.h.

Alpha also needs some tricky changes to ensure we still emit 2 compat
symbols for sqrt(f).

Passes buildmanyglibc.

Co-authored-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
Diffstat (limited to 'sysdeps/ieee754/dbl-64')
-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
26 files changed, 60 insertions, 37 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)