aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ieee754/ldbl-128ibm
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/ldbl-128ibm
parentcf4dfd461725b6dbe6f27fbd16913f2c6c5cf7c5 (diff)
downloadglibc-220622dde5704c95a100c2792a280f18f3deba73.zip
glibc-220622dde5704c95a100c2792a280f18f3deba73.tar.gz
glibc-220622dde5704c95a100c2792a280f18f3deba73.tar.bz2
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/ldbl-128ibm')
-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
22 files changed, 47 insertions, 26 deletions
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c b/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c
index f85fe67..e2f045a 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 36fe75e..46a480e 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 0e54332..8cf60f0 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 b625323..8c451ed 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 25c286b..d38d7b5 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 327b2ab..bdbaad7 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 0009b41..bd86a40 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 3385887e..0e68daa 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 fae7dbe..a8b178d 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 642e4ff..77a6fa6 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 842f77b..8767905 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 d430c29..a12ef1b 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 ec6b1ce..f85ba94 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 3fe4c0e..1ea48ff 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 9dc130c..adf25b0 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 7efaacd..bcf71f9 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 57b4b68..4b3ac26 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 65e17cb..c7f0af4 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 df09c87..74142a5 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 efa83bd..8a99c79 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 f869fb0..f30d701 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 6b05d7b..7bb7f3f 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)