aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-11-29 17:38:35 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-11-29 17:38:35 +0000
commitaa1142c593447b433208a79bd5a95095cd5dd892 (patch)
tree0e8dbd062a727ad9d632e58e72e76c47bc23de6e
parent8da25eec0aaf4d86a06088fff8d175989835e071 (diff)
downloadglibc-aa1142c593447b433208a79bd5a95095cd5dd892.tar.xz
glibc-aa1142c593447b433208a79bd5a95095cd5dd892.zip
Use libm_alias_float for ia64.
Continuing the preparation for additional _FloatN / _FloatNx function aliases, this patch makes ia64 libm function implementations use libm_alias_float to define function aliases. The same approach is followed as with the corresponding long double and double patches: the ia64-specific macros are left unchanged, with calls to libm_alias_float_other being added in most cases and libm_alias_float 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-float.h>. * sysdeps/ia64/fpu/e_acosf.S (acosf): Use libm_alias_float_other. * sysdeps/ia64/fpu/e_acoshf.S (acoshf): Likewise. * sysdeps/ia64/fpu/e_asinf.S (asinf): Likewise. * sysdeps/ia64/fpu/e_atan2f.S (atan2f): Likewise. * sysdeps/ia64/fpu/e_atanhf.S (atanhf): Likewise. * sysdeps/ia64/fpu/e_coshf.S (coshf): Likewise. * sysdeps/ia64/fpu/e_exp10f.S (exp10f): Likewise. * sysdeps/ia64/fpu/e_exp2f.S (exp2f): Likewise. * sysdeps/ia64/fpu/e_expf.S (expf): Likewise. * sysdeps/ia64/fpu/e_fmodf.S (fmodf): Likewise. * sysdeps/ia64/fpu/e_hypotf.S (hypotf): Likewise. * sysdeps/ia64/fpu/e_lgammaf_r.c (lgammaf_r): Define using libm_alias_float_r. * sysdeps/ia64/fpu/e_log2f.S (log2f): Use libm_alias_float_other. * sysdeps/ia64/fpu/e_logf.S (log10f): Likewise. (logf): Likewise. * sysdeps/ia64/fpu/e_powf.S (powf): Likewise. * sysdeps/ia64/fpu/e_remainderf.S (remainderf): Likewise. * sysdeps/ia64/fpu/e_sinhf.S (sinhf): Likewise. * sysdeps/ia64/fpu/e_sqrtf.S (sqrtf): Likewise. * sysdeps/ia64/fpu/libm_sincosf.S (sincosf): Likewise. * sysdeps/ia64/fpu/s_asinhf.S (asinhf): Likewise. * sysdeps/ia64/fpu/s_atanf.S (atanf): Likewise. * sysdeps/ia64/fpu/s_cbrtf.S (cbrtf): Likewise. * sysdeps/ia64/fpu/s_ceilf.S (ceilf): Likewise. * sysdeps/ia64/fpu/s_copysign.S (copysignf): Define using libm_alias_float. * sysdeps/ia64/fpu/s_cosf.S (sinf): Use libm_alias_float_other. (cosf): Likewise. * sysdeps/ia64/fpu/s_erfcf.S (erfcf): Likewise. * sysdeps/ia64/fpu/s_erff.S (erff): Likewise. * sysdeps/ia64/fpu/s_expm1f.S (expm1f): Likewise. * sysdeps/ia64/fpu/s_fabsf.S (fabsf): Likewise. * sysdeps/ia64/fpu/s_fdimf.S (fdimf): Likewise. * sysdeps/ia64/fpu/s_floorf.S (floorf): Likewise. * sysdeps/ia64/fpu/s_fmaf.S (fmaf): Likewise. * sysdeps/ia64/fpu/s_fmaxf.S (fmaxf): Likewise. * sysdeps/ia64/fpu/s_frexpf.c (frexpf): Likewise. * sysdeps/ia64/fpu/s_ldexpf.c (ldexpf): Likewise. * sysdeps/ia64/fpu/s_log1pf.S (log1pf): Likewise. * sysdeps/ia64/fpu/s_logbf.S (logbf): Likewise. * sysdeps/ia64/fpu/s_modff.S (modff): Likewise. * sysdeps/ia64/fpu/s_nearbyintf.S (nearbyintf): Likewise. * sysdeps/ia64/fpu/s_nextafterf.S (nextafterf): Likewise. * sysdeps/ia64/fpu/s_rintf.S (rintf): Likewise. * sysdeps/ia64/fpu/s_roundf.S (roundf): Likewise. * sysdeps/ia64/fpu/s_scalblnf.c (scalblnf): Likewise. * sysdeps/ia64/fpu/s_scalbnf.c (scalbnf): Define using libm_alias_float. * sysdeps/ia64/fpu/s_tanf.S (tanf): Use libm_alias_float_other. * sysdeps/ia64/fpu/s_tanhf.S (tanhf): Likewise. * sysdeps/ia64/fpu/s_truncf.S (truncf): Likewise. * sysdeps/ia64/fpu/w_lgammaf_main.c [BUILD_LGAMMA && !USE_AS_COMPAT] (lgammaf): Likewise. * sysdeps/ia64/fpu/w_tgammaf_compat.S (tgammaf): Likewise.
-rw-r--r--ChangeLog59
-rw-r--r--sysdeps/ia64/fpu/e_acosf.S1
-rw-r--r--sysdeps/ia64/fpu/e_acoshf.S1
-rw-r--r--sysdeps/ia64/fpu/e_asinf.S1
-rw-r--r--sysdeps/ia64/fpu/e_atan2f.S1
-rw-r--r--sysdeps/ia64/fpu/e_atanhf.S1
-rw-r--r--sysdeps/ia64/fpu/e_coshf.S1
-rw-r--r--sysdeps/ia64/fpu/e_exp10f.S1
-rw-r--r--sysdeps/ia64/fpu/e_exp2f.S1
-rw-r--r--sysdeps/ia64/fpu/e_expf.S1
-rw-r--r--sysdeps/ia64/fpu/e_fmodf.S1
-rw-r--r--sysdeps/ia64/fpu/e_hypotf.S1
-rw-r--r--sysdeps/ia64/fpu/e_lgammaf_r.c2
-rw-r--r--sysdeps/ia64/fpu/e_log2f.S1
-rw-r--r--sysdeps/ia64/fpu/e_logf.S2
-rw-r--r--sysdeps/ia64/fpu/e_powf.S1
-rw-r--r--sysdeps/ia64/fpu/e_remainderf.S1
-rw-r--r--sysdeps/ia64/fpu/e_sinhf.S1
-rw-r--r--sysdeps/ia64/fpu/e_sqrtf.S1
-rw-r--r--sysdeps/ia64/fpu/libm-symbols.h1
-rw-r--r--sysdeps/ia64/fpu/libm_sincosf.S1
-rw-r--r--sysdeps/ia64/fpu/s_asinhf.S1
-rw-r--r--sysdeps/ia64/fpu/s_atanf.S1
-rw-r--r--sysdeps/ia64/fpu/s_cbrtf.S1
-rw-r--r--sysdeps/ia64/fpu/s_ceilf.S1
-rw-r--r--sysdeps/ia64/fpu/s_copysign.S2
-rw-r--r--sysdeps/ia64/fpu/s_cosf.S2
-rw-r--r--sysdeps/ia64/fpu/s_erfcf.S1
-rw-r--r--sysdeps/ia64/fpu/s_erff.S1
-rw-r--r--sysdeps/ia64/fpu/s_expm1f.S1
-rw-r--r--sysdeps/ia64/fpu/s_fabsf.S1
-rw-r--r--sysdeps/ia64/fpu/s_fdimf.S1
-rw-r--r--sysdeps/ia64/fpu/s_floorf.S1
-rw-r--r--sysdeps/ia64/fpu/s_fmaf.S1
-rw-r--r--sysdeps/ia64/fpu/s_fmaxf.S1
-rw-r--r--sysdeps/ia64/fpu/s_frexpf.c1
-rw-r--r--sysdeps/ia64/fpu/s_ldexpf.c1
-rw-r--r--sysdeps/ia64/fpu/s_log1pf.S1
-rw-r--r--sysdeps/ia64/fpu/s_logbf.S1
-rw-r--r--sysdeps/ia64/fpu/s_modff.S1
-rw-r--r--sysdeps/ia64/fpu/s_nearbyintf.S1
-rw-r--r--sysdeps/ia64/fpu/s_nextafterf.S1
-rw-r--r--sysdeps/ia64/fpu/s_rintf.S1
-rw-r--r--sysdeps/ia64/fpu/s_roundf.S1
-rw-r--r--sysdeps/ia64/fpu/s_scalblnf.c1
-rw-r--r--sysdeps/ia64/fpu/s_scalbnf.c2
-rw-r--r--sysdeps/ia64/fpu/s_tanf.S1
-rw-r--r--sysdeps/ia64/fpu/s_tanhf.S1
-rw-r--r--sysdeps/ia64/fpu/s_truncf.S1
-rw-r--r--sysdeps/ia64/fpu/w_lgammaf_main.c1
-rw-r--r--sysdeps/ia64/fpu/w_tgammaf_compat.S1
51 files changed, 111 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index a73e09fb2e..89ed1f4c7b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,62 @@
+2017-11-29 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/ia64/fpu/libm-symbols.h: Include <libm-alias-float.h>.
+ * sysdeps/ia64/fpu/e_acosf.S (acosf): Use libm_alias_float_other.
+ * sysdeps/ia64/fpu/e_acoshf.S (acoshf): Likewise.
+ * sysdeps/ia64/fpu/e_asinf.S (asinf): Likewise.
+ * sysdeps/ia64/fpu/e_atan2f.S (atan2f): Likewise.
+ * sysdeps/ia64/fpu/e_atanhf.S (atanhf): Likewise.
+ * sysdeps/ia64/fpu/e_coshf.S (coshf): Likewise.
+ * sysdeps/ia64/fpu/e_exp10f.S (exp10f): Likewise.
+ * sysdeps/ia64/fpu/e_exp2f.S (exp2f): Likewise.
+ * sysdeps/ia64/fpu/e_expf.S (expf): Likewise.
+ * sysdeps/ia64/fpu/e_fmodf.S (fmodf): Likewise.
+ * sysdeps/ia64/fpu/e_hypotf.S (hypotf): Likewise.
+ * sysdeps/ia64/fpu/e_lgammaf_r.c (lgammaf_r): Define using
+ libm_alias_float_r.
+ * sysdeps/ia64/fpu/e_log2f.S (log2f): Use libm_alias_float_other.
+ * sysdeps/ia64/fpu/e_logf.S (log10f): Likewise.
+ (logf): Likewise.
+ * sysdeps/ia64/fpu/e_powf.S (powf): Likewise.
+ * sysdeps/ia64/fpu/e_remainderf.S (remainderf): Likewise.
+ * sysdeps/ia64/fpu/e_sinhf.S (sinhf): Likewise.
+ * sysdeps/ia64/fpu/e_sqrtf.S (sqrtf): Likewise.
+ * sysdeps/ia64/fpu/libm_sincosf.S (sincosf): Likewise.
+ * sysdeps/ia64/fpu/s_asinhf.S (asinhf): Likewise.
+ * sysdeps/ia64/fpu/s_atanf.S (atanf): Likewise.
+ * sysdeps/ia64/fpu/s_cbrtf.S (cbrtf): Likewise.
+ * sysdeps/ia64/fpu/s_ceilf.S (ceilf): Likewise.
+ * sysdeps/ia64/fpu/s_copysign.S (copysignf): Define using
+ libm_alias_float.
+ * sysdeps/ia64/fpu/s_cosf.S (sinf): Use libm_alias_float_other.
+ (cosf): Likewise.
+ * sysdeps/ia64/fpu/s_erfcf.S (erfcf): Likewise.
+ * sysdeps/ia64/fpu/s_erff.S (erff): Likewise.
+ * sysdeps/ia64/fpu/s_expm1f.S (expm1f): Likewise.
+ * sysdeps/ia64/fpu/s_fabsf.S (fabsf): Likewise.
+ * sysdeps/ia64/fpu/s_fdimf.S (fdimf): Likewise.
+ * sysdeps/ia64/fpu/s_floorf.S (floorf): Likewise.
+ * sysdeps/ia64/fpu/s_fmaf.S (fmaf): Likewise.
+ * sysdeps/ia64/fpu/s_fmaxf.S (fmaxf): Likewise.
+ * sysdeps/ia64/fpu/s_frexpf.c (frexpf): Likewise.
+ * sysdeps/ia64/fpu/s_ldexpf.c (ldexpf): Likewise.
+ * sysdeps/ia64/fpu/s_log1pf.S (log1pf): Likewise.
+ * sysdeps/ia64/fpu/s_logbf.S (logbf): Likewise.
+ * sysdeps/ia64/fpu/s_modff.S (modff): Likewise.
+ * sysdeps/ia64/fpu/s_nearbyintf.S (nearbyintf): Likewise.
+ * sysdeps/ia64/fpu/s_nextafterf.S (nextafterf): Likewise.
+ * sysdeps/ia64/fpu/s_rintf.S (rintf): Likewise.
+ * sysdeps/ia64/fpu/s_roundf.S (roundf): Likewise.
+ * sysdeps/ia64/fpu/s_scalblnf.c (scalblnf): Likewise.
+ * sysdeps/ia64/fpu/s_scalbnf.c (scalbnf): Define using
+ libm_alias_float.
+ * sysdeps/ia64/fpu/s_tanf.S (tanf): Use libm_alias_float_other.
+ * sysdeps/ia64/fpu/s_tanhf.S (tanhf): Likewise.
+ * sysdeps/ia64/fpu/s_truncf.S (truncf): Likewise.
+ * sysdeps/ia64/fpu/w_lgammaf_main.c
+ [BUILD_LGAMMA && !USE_AS_COMPAT] (lgammaf): Likewise.
+ * sysdeps/ia64/fpu/w_tgammaf_compat.S (tgammaf): Likewise.
+
2017-11-28 Mike FABIAN <mfabian@redhat.com>, Alexandre Oliva <aoliva@redhat.com>
[BZ #17750]
diff --git a/sysdeps/ia64/fpu/e_acosf.S b/sysdeps/ia64/fpu/e_acosf.S
index bdcac59d22..c0dac3df10 100644
--- a/sysdeps/ia64/fpu/e_acosf.S
+++ b/sysdeps/ia64/fpu/e_acosf.S
@@ -600,6 +600,7 @@ ACOSF_ABS_ONE:
}
GLOBAL_LIBM_END(acosf)
+libm_alias_float_other (acos, acos)
// Stack operations when calling error support.
diff --git a/sysdeps/ia64/fpu/e_acoshf.S b/sysdeps/ia64/fpu/e_acoshf.S
index 58ef5f2adb..4affbdf5f0 100644
--- a/sysdeps/ia64/fpu/e_acoshf.S
+++ b/sysdeps/ia64/fpu/e_acoshf.S
@@ -967,6 +967,7 @@ ACOSH_LESS_ONE:
;;
GLOBAL_LIBM_END(acoshf)
+libm_alias_float_other (acosh, acosh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_asinf.S b/sysdeps/ia64/fpu/e_asinf.S
index 74a18dd24a..a4b7fc2f27 100644
--- a/sysdeps/ia64/fpu/e_asinf.S
+++ b/sysdeps/ia64/fpu/e_asinf.S
@@ -583,6 +583,7 @@ ASINF_ABS_ONE:
;;
GLOBAL_LIBM_END(asinf)
+libm_alias_float_other (asin, asin)
// Stack operations when calling error support.
// (1) (2)
diff --git a/sysdeps/ia64/fpu/e_atan2f.S b/sysdeps/ia64/fpu/e_atan2f.S
index 5ff561d7ca..6b318a5ced 100644
--- a/sysdeps/ia64/fpu/e_atan2f.S
+++ b/sysdeps/ia64/fpu/e_atan2f.S
@@ -826,6 +826,7 @@ ATAN2F_XY_INF_NAN_ZERO:
GLOBAL_IEEE754_END(atan2f)
+libm_alias_float_other (__atan2, atan2)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_atanhf.S b/sysdeps/ia64/fpu/e_atanhf.S
index 1ec1408e35..3c550f9dc4 100644
--- a/sysdeps/ia64/fpu/e_atanhf.S
+++ b/sysdeps/ia64/fpu/e_atanhf.S
@@ -781,6 +781,7 @@ atanhf_ge_one:
;;
GLOBAL_LIBM_END(atanhf)
+libm_alias_float_other (atanh, atanh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_coshf.S b/sysdeps/ia64/fpu/e_coshf.S
index 97cb4e1771..51a87b840e 100644
--- a/sysdeps/ia64/fpu/e_coshf.S
+++ b/sysdeps/ia64/fpu/e_coshf.S
@@ -652,6 +652,7 @@ COSH_UNORM:
;;
GLOBAL_IEEE754_END(coshf)
+libm_alias_float_other (__cosh, cosh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_exp10f.S b/sysdeps/ia64/fpu/e_exp10f.S
index f9fe8ca192..67218c737f 100644
--- a/sysdeps/ia64/fpu/e_exp10f.S
+++ b/sysdeps/ia64/fpu/e_exp10f.S
@@ -488,6 +488,7 @@ OUT_RANGE_exp10:
;;
GLOBAL_IEEE754_END(exp10f)
+libm_alias_float_other (__exp10, exp10)
#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
compat_symbol (libm, exp10f, pow10f, GLIBC_2_2)
#endif
diff --git a/sysdeps/ia64/fpu/e_exp2f.S b/sysdeps/ia64/fpu/e_exp2f.S
index d308bb23a9..2bda62c459 100644
--- a/sysdeps/ia64/fpu/e_exp2f.S
+++ b/sysdeps/ia64/fpu/e_exp2f.S
@@ -469,6 +469,7 @@ OUT_RANGE_exp2:
;;
GLOBAL_LIBM_END(__exp2f)
+libm_alias_float_other (__exp2, __exp2)
#ifdef SHARED
.symver __exp2f,exp2f@@GLIBC_2.27
.weak __exp2f_compat
diff --git a/sysdeps/ia64/fpu/e_expf.S b/sysdeps/ia64/fpu/e_expf.S
index 8c5f089f68..c95ccafee3 100644
--- a/sysdeps/ia64/fpu/e_expf.S
+++ b/sysdeps/ia64/fpu/e_expf.S
@@ -657,6 +657,7 @@ EXP_UNDERFLOW_ZERO:
;;
GLOBAL_IEEE754_END(expf)
+libm_alias_float_other (__exp, exp)
#ifdef SHARED
.symver expf,expf@@GLIBC_2.27
.weak __expf_compat
diff --git a/sysdeps/ia64/fpu/e_fmodf.S b/sysdeps/ia64/fpu/e_fmodf.S
index f5aec469ca..149e27f1a1 100644
--- a/sysdeps/ia64/fpu/e_fmodf.S
+++ b/sysdeps/ia64/fpu/e_fmodf.S
@@ -514,6 +514,7 @@ EXP_ERROR_RETURN:
}
GLOBAL_IEEE754_END(fmodf)
+libm_alias_float_other (__fmod, fmod)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/e_hypotf.S b/sysdeps/ia64/fpu/e_hypotf.S
index 43a2fe4a27..6c6f5782ff 100644
--- a/sysdeps/ia64/fpu/e_hypotf.S
+++ b/sysdeps/ia64/fpu/e_hypotf.S
@@ -338,6 +338,7 @@ GLOBAL_IEEE754_ENTRY(hypotf)
(p9) br.ret.sptk b0;;
}
GLOBAL_IEEE754_END(hypotf)
+libm_alias_float_other (__hypot, hypot)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
diff --git a/sysdeps/ia64/fpu/e_lgammaf_r.c b/sysdeps/ia64/fpu/e_lgammaf_r.c
index 44911aeabd..9af43702ad 100644
--- a/sysdeps/ia64/fpu/e_lgammaf_r.c
+++ b/sysdeps/ia64/fpu/e_lgammaf_r.c
@@ -60,7 +60,7 @@ float __ieee754_lgammaf_r(float x, int* signgam)
{
return __libm_lgammaf(x, signgam, sizeof(*signgam));
}
-weak_alias (__ieee754_lgammaf_r, lgammaf_r)
+libm_alias_float_r (__ieee754_lgamma, lgamma, _r)
#ifndef _LIBC
float __ieee754_gammaf_r(float x, int* signgam)
diff --git a/sysdeps/ia64/fpu/e_log2f.S b/sysdeps/ia64/fpu/e_log2f.S
index 9b754d1043..fa66303db2 100644
--- a/sysdeps/ia64/fpu/e_log2f.S
+++ b/sysdeps/ia64/fpu/e_log2f.S
@@ -492,6 +492,7 @@ SPECIAL_log2f:
}
GLOBAL_LIBM_END(__log2f)
+libm_alias_float_other (__log2, __log2)
#ifdef SHARED
.symver __log2f,log2f@@GLIBC_2.27
.weak __log2f_compat
diff --git a/sysdeps/ia64/fpu/e_logf.S b/sysdeps/ia64/fpu/e_logf.S
index d5f5437793..d299242198 100644
--- a/sysdeps/ia64/fpu/e_logf.S
+++ b/sysdeps/ia64/fpu/e_logf.S
@@ -842,6 +842,7 @@ GLOBAL_IEEE754_ENTRY(log10f)
br.cond.sptk logf_log10f_common
};;
GLOBAL_IEEE754_END(log10f)
+libm_alias_float_other (__log10, log10)
GLOBAL_IEEE754_ENTRY(logf)