aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-11-29 01:23:23 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-11-29 01:23:23 +0000
commit0609ec0a74f6360ebfb45d048f071a75dfcbc6c7 (patch)
tree60e2ac52fe5bd19193db3e1ed216f80db4661e95
parentd5bfa34a53fe67e9e86edc7f5d8277dcd687d064 (diff)
downloadglibc-0609ec0a74f6360ebfb45d048f071a75dfcbc6c7.tar.xz
glibc-0609ec0a74f6360ebfb45d048f071a75dfcbc6c7.zip
Use libm_alias_double for ia64.
Continuing the preparation for additional _FloatN / _FloatNx function aliases, this patch makes ia64 libm function implementations use libm_alias_double to define function aliases. The same approach is followed as with the corresponding long double patch: the ia64-specific macros are left unchanged, with calls to libm_alias_double_other being added in most cases and libm_alias_double itself being used in only a few places. Tested with build-many-glibcs.py for ia64-linux-gnu that installed stripped shared libraries are unchanged by the patch. * sysdeps/ia64/fpu/libm-symbols.h: Include <libm-alias-double.h>. * sysdeps/ia64/fpu/e_acos.S (acos): Use libm_alias_double_other. * sysdeps/ia64/fpu/e_acosh.S (acosh): Likewise. * sysdeps/ia64/fpu/e_asin.S (asin): Likewise. * sysdeps/ia64/fpu/e_atan2.S (atan2): Likewise. * sysdeps/ia64/fpu/e_atanh.S (atanh): Likewise. * sysdeps/ia64/fpu/e_cosh.S (cosh): Likewise. * sysdeps/ia64/fpu/e_exp.S (exp): Likewise. * sysdeps/ia64/fpu/e_exp10.S (exp10): Likewise. * sysdeps/ia64/fpu/e_exp2.S (exp2): Likewise. * sysdeps/ia64/fpu/e_fmod.S (fmod): Likewise. * sysdeps/ia64/fpu/e_hypot.S (hypot): Likewise. * sysdeps/ia64/fpu/e_lgamma_r.c (lgamma_r): Define using libm_alias_double_r. * sysdeps/ia64/fpu/e_log.S (log10): Use libm_alias_double_other. (log): Likewise. * sysdeps/ia64/fpu/e_log2.S (log2): Likewise. * sysdeps/ia64/fpu/e_pow.S (pow): Likewise. * sysdeps/ia64/fpu/e_remainder.S (remainder): Likewise. * sysdeps/ia64/fpu/e_sinh.S (sinh): Likewise. * sysdeps/ia64/fpu/e_sqrt.S (sqrt): Likewise. * sysdeps/ia64/fpu/libm_sincos.S (sincos): Likewise. * sysdeps/ia64/fpu/s_asinh.S (asinh): Likewise. * sysdeps/ia64/fpu/s_atan.S (atan): Likewise. * sysdeps/ia64/fpu/s_cbrt.S (cbrt): Likewise. * sysdeps/ia64/fpu/s_ceil.S (ceil): Likewise. * sysdeps/ia64/fpu/s_copysign.S (copysign): Define using libm_alias_double. * sysdeps/ia64/fpu/s_cos.S (sin): Use libm_alias_double_other. (cos): Likewise. * sysdeps/ia64/fpu/s_erf.S (erf): Likewise. * sysdeps/ia64/fpu/s_erfc.S (erfc): Likewise. * sysdeps/ia64/fpu/s_expm1.S (expm1): Likewise. * sysdeps/ia64/fpu/s_fabs.S (fabs): Likewise. * sysdeps/ia64/fpu/s_fdim.S (fdim): Likewise. * sysdeps/ia64/fpu/s_floor.S (floor): Likewise. * sysdeps/ia64/fpu/s_fma.S (fma): Likewise. * sysdeps/ia64/fpu/s_fmax.S (fmax): Likewise. * sysdeps/ia64/fpu/s_frexp.c (frexp): Likewise. * sysdeps/ia64/fpu/s_ldexp.c (ldexp): Likewise. * sysdeps/ia64/fpu/s_log1p.S (log1p): Likewise. * sysdeps/ia64/fpu/s_logb.S (logb): Likewise. * sysdeps/ia64/fpu/s_modf.S (modf): Likewise. * sysdeps/ia64/fpu/s_nearbyint.S (nearbyint): Likewise. * sysdeps/ia64/fpu/s_nextafter.S (nextafter): Likewise. * sysdeps/ia64/fpu/s_rint.S (rint): Likewise. * sysdeps/ia64/fpu/s_round.S (round): Likewise. * sysdeps/ia64/fpu/s_scalbn.c (scalbn): Define using libm_alias_double. * sysdeps/ia64/fpu/s_tan.S (tan): Use libm_alias_double_other. * sysdeps/ia64/fpu/s_tanh.S (tanh): Likewise. * sysdeps/ia64/fpu/s_trunc.S (trunc): Likewise. * sysdeps/ia64/fpu/w_lgamma_main.c [BUILD_LGAMMA && !USE_AS_COMPAT] (lgamma): Likewise. * sysdeps/ia64/fpu/w_tgamma_compat.S (tgamma): Likewise.
-rw-r--r--ChangeLog58
-rw-r--r--sysdeps/ia64/fpu/e_acos.S1
-rw-r--r--sysdeps/ia64/fpu/e_acosh.S1
-rw-r--r--sysdeps/ia64/fpu/e_asin.S1
-rw-r--r--sysdeps/ia64/fpu/e_atan2.S1
-rw-r--r--sysdeps/ia64/fpu/e_atanh.S1
-rw-r--r--sysdeps/ia64/fpu/e_cosh.S1
-rw-r--r--sysdeps/ia64/fpu/e_exp.S1
-rw-r--r--sysdeps/ia64/fpu/e_exp10.S1
-rw-r--r--sysdeps/ia64/fpu/e_exp2.S1
-rw-r--r--sysdeps/ia64/fpu/e_fmod.S1
-rw-r--r--sysdeps/ia64/fpu/e_hypot.S1
-rw-r--r--sysdeps/ia64/fpu/e_lgamma_r.c2
-rw-r--r--sysdeps/ia64/fpu/e_log.S2
-rw-r--r--sysdeps/ia64/fpu/e_log2.S1
-rw-r--r--sysdeps/ia64/fpu/e_pow.S1
-rw-r--r--sysdeps/ia64/fpu/e_remainder.S1
-rw-r--r--sysdeps/ia64/fpu/e_sinh.S1
-rw-r--r--sysdeps/ia64/fpu/e_sqrt.S1
-rw-r--r--sysdeps/ia64/fpu/libm-symbols.h1
-rw-r--r--sysdeps/ia64/fpu/libm_sincos.S1
-rw-r--r--sysdeps/ia64/fpu/s_asinh.S1
-rw-r--r--sysdeps/ia64/fpu/s_atan.S1
-rw-r--r--sysdeps/ia64/fpu/s_cbrt.S1
-rw-r--r--sysdeps/ia64/fpu/s_ceil.S1
-rw-r--r--sysdeps/ia64/fpu/s_copysign.S2
-rw-r--r--sysdeps/ia64/fpu/s_cos.S2
-rw-r--r--sysdeps/ia64/fpu/s_erf.S1
-rw-r--r--sysdeps/ia64/fpu/s_erfc.S1
-rw-r--r--sysdeps/ia64/fpu/s_expm1.S1
-rw-r--r--sysdeps/ia64/fpu/s_fabs.S1
-rw-r--r--sysdeps/ia64/fpu/s_fdim.S1
-rw-r--r--sysdeps/ia64/fpu/s_floor.S1
-rw-r--r--sysdeps/ia64/fpu/s_fma.S1
-rw-r--r--sysdeps/ia64/fpu/s_fmax.S1
-rw-r--r--sysdeps/ia64/fpu/s_frexp.c1
-rw-r--r--sysdeps/ia64/fpu/s_ldexp.c1
-rw-r--r--sysdeps/ia64/fpu/s_log1p.S1
-rw-r--r--sysdeps/ia64/fpu/s_logb.S1
-rw-r--r--sysdeps/ia64/fpu/s_modf.S1
-rw-r--r--sysdeps/ia64/fpu/s_nearbyint.S1
-rw-r--r--sysdeps/ia64/fpu/s_nextafter.S1
-rw-r--r--sysdeps/ia64/fpu/s_rint.S1
-rw-r--r--sysdeps/ia64/fpu/s_round.S1
-rw-r--r--sysdeps/ia64/fpu/s_scalbn.c2
-rw-r--r--sysdeps/ia64/fpu/s_tan.S1
-rw-r--r--sysdeps/ia64/fpu/s_tanh.S1
-rw-r--r--sysdeps/ia64/fpu/s_trunc.S1
-rw-r--r--sysdeps/ia64/fpu/w_lgamma_main.c1
-rw-r--r--sysdeps/ia64/fpu/w_tgamma_compat.S1
50 files changed, 109 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index bffaf21f51..cfbde5802d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,61 @@
+2017-11-29 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/ia64/fpu/libm-symbols.h: Include <libm-alias-double.h>.
+ * sysdeps/ia64/fpu/e_acos.S (acos): Use libm_alias_double_other.
+ * sysdeps/ia64/fpu/e_acosh.S (acosh): Likewise.
+ * sysdeps/ia64/fpu/e_asin.S (asin): Likewise.
+ * sysdeps/ia64/fpu/e_atan2.S (atan2): Likewise.
+ * sysdeps/ia64/fpu/e_atanh.S (atanh): Likewise.
+ * sysdeps/ia64/fpu/e_cosh.S (cosh): Likewise.
+ * sysdeps/ia64/fpu/e_exp.S (exp): Likewise.
+ * sysdeps/ia64/fpu/e_exp10.S (exp10): Likewise.
+ * sysdeps/ia64/fpu/e_exp2.S (exp2): Likewise.
+ * sysdeps/ia64/fpu/e_fmod.S (fmod): Likewise.
+ * sysdeps/ia64/fpu/e_hypot.S (hypot): Likewise.
+ * sysdeps/ia64/fpu/e_lgamma_r.c (lgamma_r): Define using
+ libm_alias_double_r.
+ * sysdeps/ia64/fpu/e_log.S (log10): Use libm_alias_double_other.
+ (log): Likewise.
+ * sysdeps/ia64/fpu/e_log2.S (log2): Likewise.
+ * sysdeps/ia64/fpu/e_pow.S (pow): Likewise.
+ * sysdeps/ia64/fpu/e_remainder.S (remainder): Likewise.
+ * sysdeps/ia64/fpu/e_sinh.S (sinh): Likewise.
+ * sysdeps/ia64/fpu/e_sqrt.S (sqrt): Likewise.
+ * sysdeps/ia64/fpu/libm_sincos.S (sincos): Likewise.
+ * sysdeps/ia64/fpu/s_asinh.S (asinh): Likewise.
+ * sysdeps/ia64/fpu/s_atan.S (atan): Likewise.
+ * sysdeps/ia64/fpu/s_cbrt.S (cbrt): Likewise.
+ * sysdeps/ia64/fpu/s_ceil.S (ceil): Likewise.
+ * sysdeps/ia64/fpu/s_copysign.S (copysign): Define using
+ libm_alias_double.
+ * sysdeps/ia64/fpu/s_cos.S (sin): Use libm_alias_double_other.
+ (cos): Likewise.
+ * sysdeps/ia64/fpu/s_erf.S (erf): Likewise.
+ * sysdeps/ia64/fpu/s_erfc.S (erfc): Likewise.
+ * sysdeps/ia64/fpu/s_expm1.S (expm1): Likewise.
+ * sysdeps/ia64/fpu/s_fabs.S (fabs): Likewise.
+ * sysdeps/ia64/fpu/s_fdim.S (fdim): Likewise.
+ * sysdeps/ia64/fpu/s_floor.S (floor): Likewise.
+ * sysdeps/ia64/fpu/s_fma.S (fma): Likewise.
+ * sysdeps/ia64/fpu/s_fmax.S (fmax): Likewise.
+ * sysdeps/ia64/fpu/s_frexp.c (frexp): Likewise.
+ * sysdeps/ia64/fpu/s_ldexp.c (ldexp): Likewise.
+ * sysdeps/ia64/fpu/s_log1p.S (log1p): Likewise.
+ * sysdeps/ia64/fpu/s_logb.S (logb): Likewise.
+ * sysdeps/ia64/fpu/s_modf.S (modf): Likewise.
+ * sysdeps/ia64/fpu/s_nearbyint.S (nearbyint): Likewise.
+ * sysdeps/ia64/fpu/s_nextafter.S (nextafter): Likewise.
+ * sysdeps/ia64/fpu/s_rint.S (rint): Likewise.
+ * sysdeps/ia64/fpu/s_round.S (round): Likewise.
+ * sysdeps/ia64/fpu/s_scalbn.c (scalbn): Define using
+ libm_alias_double.
+ * sysdeps/ia64/fpu/s_tan.S (tan): Use libm_alias_double_other.
+ * sysdeps/ia64/fpu/s_tanh.S (tanh): Likewise.
+ * sysdeps/ia64/fpu/s_trunc.S (trunc): Likewise.
+ * sysdeps/ia64/fpu/w_lgamma_main.c
+ [BUILD_LGAMMA && !USE_AS_COMPAT] (lgamma): Likewise.
+ * sysdeps/ia64/fpu/w_tgamma_compat.S (tgamma): Likewise.
+
2017-11-28 John David Anglin <danglin@gcc.gnu.org>
* sysdeps/hppa/start.S (_start): Check PIC instead of SHARED. Load
diff --git a/sysdeps/ia64/fpu/e_acos.S b/sysdeps/ia64/fpu/e_acos.S
index c2b31ab85e..ad7901612c 100644
--- a/sysdeps/ia64/fpu/e_acos.S
+++ b/sysdeps/ia64/fpu/e_acos.S
@@ -822,6 +822,7 @@ acos_abs_gt_1:
}
;;
GLOBAL_LIBM_END(acos)
+libm_alias_double_other (acos, acos)
diff --git a/sysdeps/ia64/fpu/e_acosh.S b/sysdeps/ia64/fpu/e_acosh.S
index fb25fa0053..f8c75e427d 100644
--- a/sysdeps/ia64/fpu/e_acosh.S
+++ b/sysdeps/ia64/fpu/e_acosh.S
@@ -1139,6 +1139,7 @@ ACOSH_LESS_ONE:
;;
GLOBAL_LIBM_END(acosh)
+libm_alias_double_other (acosh, acosh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_asin.S b/sysdeps/ia64/fpu/e_asin.S
index f995c597f4..4de08e59d5 100644
--- a/sysdeps/ia64/fpu/e_asin.S
+++ b/sysdeps/ia64/fpu/e_asin.S
@@ -798,6 +798,7 @@ asin_abs_gt_1:
}
;;
GLOBAL_LIBM_END(asin)
+libm_alias_double_other (asin, asin)
diff --git a/sysdeps/ia64/fpu/e_atan2.S b/sysdeps/ia64/fpu/e_atan2.S
index 7a17fbfed4..1786794e7d 100644
--- a/sysdeps/ia64/fpu/e_atan2.S
+++ b/sysdeps/ia64/fpu/e_atan2.S
@@ -985,6 +985,7 @@ ATAN2_ERROR:
;;
}
GLOBAL_IEEE754_END(atan2)
+libm_alias_double_other (__atan2, atan2)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_atanh.S b/sysdeps/ia64/fpu/e_atanh.S
index 4ae5ee6926..45760af71d 100644
--- a/sysdeps/ia64/fpu/e_atanh.S
+++ b/sysdeps/ia64/fpu/e_atanh.S
@@ -1008,6 +1008,7 @@ atanh_ge_one:
;;
GLOBAL_LIBM_END(atanh)
+libm_alias_double_other (atanh, atanh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_cosh.S b/sysdeps/ia64/fpu/e_cosh.S
index 885456b389..dbac1804ff 100644
--- a/sysdeps/ia64/fpu/e_cosh.S
+++ b/sysdeps/ia64/fpu/e_cosh.S
@@ -811,6 +811,7 @@ COSH_UNORM:
;;
GLOBAL_IEEE754_END(cosh)
+libm_alias_double_other (__cosh, cosh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_exp.S b/sysdeps/ia64/fpu/e_exp.S
index f17bc26081..c8cebeb177 100644
--- a/sysdeps/ia64/fpu/e_exp.S
+++ b/sysdeps/ia64/fpu/e_exp.S
@@ -738,6 +738,7 @@ EXP_UNDERFLOW_ZERO:
;;
GLOBAL_IEEE754_END(exp)
+libm_alias_double_other (__exp, exp)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_exp10.S b/sysdeps/ia64/fpu/e_exp10.S
index 7b0737184b..f12344bee3 100644
--- a/sysdeps/ia64/fpu/e_exp10.S
+++ b/sysdeps/ia64/fpu/e_exp10.S
@@ -536,6 +536,7 @@ OUT_RANGE_exp10:
;;
GLOBAL_IEEE754_END(exp10)
+libm_alias_double_other (__exp10, exp10)
#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
compat_symbol (libm, exp10, pow10, GLIBC_2_2)
#endif
diff --git a/sysdeps/ia64/fpu/e_exp2.S b/sysdeps/ia64/fpu/e_exp2.S
index 54f652e384..18711866a1 100644
--- a/sysdeps/ia64/fpu/e_exp2.S
+++ b/sysdeps/ia64/fpu/e_exp2.S
@@ -494,6 +494,7 @@ OUT_RANGE_exp2:
;;
GLOBAL_LIBM_END(exp2)
+libm_alias_double_other (exp2, exp2)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_fmod.S b/sysdeps/ia64/fpu/e_fmod.S
index c29056e34a..3eaaf49fbb 100644
--- a/sysdeps/ia64/fpu/e_fmod.S
+++ b/sysdeps/ia64/fpu/e_fmod.S
@@ -499,6 +499,7 @@ FMOD_Y_ZERO:
}
GLOBAL_IEEE754_END(fmod)
+libm_alias_double_other (__fmod, fmod)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/e_hypot.S b/sysdeps/ia64/fpu/e_hypot.S
index 146bb2fb1b..34c2761dc3 100644
--- a/sysdeps/ia64/fpu/e_hypot.S
+++ b/sysdeps/ia64/fpu/e_hypot.S
@@ -385,6 +385,7 @@ GLOBAL_IEEE754_ENTRY(hypot)
(p9) br.ret.sptk b0;;
}
GLOBAL_IEEE754_END(hypot)
+libm_alias_double_other (__hypot, hypot)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/e_lgamma_r.c b/sysdeps/ia64/fpu/e_lgamma_r.c
index cb9efbfe02..8ae6df3419 100644
--- a/sysdeps/ia64/fpu/e_lgamma_r.c
+++ b/sysdeps/ia64/fpu/e_lgamma_r.c
@@ -60,7 +60,7 @@ double __ieee754_lgamma_r(double x, int* signgam)
{
return __libm_lgamma(x, signgam, sizeof(*signgam));
}
-weak_alias (__ieee754_lgamma_r, lgamma_r)
+libm_alias_double_r (__ieee754_lgamma, lgamma, _r)
#ifndef _LIBC
double __ieee754_gamma_r(double x, int* signgam)
diff --git a/sysdeps/ia64/fpu/e_log.S b/sysdeps/ia64/fpu/e_log.S
index 50eed956da..0b63ec43c5 100644
--- a/sysdeps/ia64/fpu/e_log.S
+++ b/sysdeps/ia64/fpu/e_log.S
@@ -1386,6 +1386,7 @@ GLOBAL_IEEE754_ENTRY(log10)
br.cond.sptk log_log10_common
};;
GLOBAL_IEEE754_END(log10)
+libm_alias_double_other (__log10, log10)
GLOBAL_IEEE754_ENTRY(log)
@@ -1668,6 +1669,7 @@ log_libm_err:
nop.i 0
};;
GLOBAL_IEEE754_END(log)
+libm_alias_double_other (__log, log)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_log2.S b/sysdeps/ia64/fpu/e_log2.S
index c2b37a65ce..17893a2ede 100644
--- a/sysdeps/ia64/fpu/e_log2.S
+++ b/sysdeps/ia64/fpu/e_log2.S
@@ -654,6 +654,7 @@ SPECIAL_LOG2:
}
GLOBAL_LIBM_END(log2)
+libm_alias_double_other (log2, log2)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_pow.S b/sysdeps/ia64/fpu/e_pow.S
index 765f509695..3b402f3f14 100644
--- a/sysdeps/ia64/fpu/e_pow.S
+++ b/sysdeps/ia64/fpu/e_pow.S
@@ -2234,6 +2234,7 @@ POW_OVER_UNDER_ERROR:
;;
GLOBAL_LIBM_END(pow)
+libm_alias_double_other (pow, pow)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64