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.zip
glibc-aa1142c593447b433208a79bd5a95095cd5dd892.tar.gz
glibc-aa1142c593447b433208a79bd5a95095cd5dd892.tar.bz2
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 a73e09f..89ed1f4 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 bdcac59..c0dac3d 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 58ef5f2..4affbdf 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 74a18dd..a4b7fc2 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 5ff561d..6b318a5 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 1ec1408..3c550f9 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 97cb4e1..51a87b8 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 f9fe8ca..67218c7 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 d308bb2..2bda62c 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 8c5f089..c95ccaf 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 f5aec46..149e27f 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 43a2fe4..6c6f578 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 44911ae..9af4370 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 9b754d1..fa66303 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 d5f5437..d299242 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)
{ .mfi
@@ -1088,6 +1089,7 @@ logf_libm_err:
nop.i 0
};;
GLOBAL_IEEE754_END(logf)
+libm_alias_float_other (__log, log)
#ifdef SHARED
.symver logf,logf@@GLIBC_2.27
.weak __logf_compat
diff --git a/sysdeps/ia64/fpu/e_powf.S b/sysdeps/ia64/fpu/e_powf.S
index 3883916..96df8db 100644
--- a/sysdeps/ia64/fpu/e_powf.S
+++ b/sysdeps/ia64/fpu/e_powf.S
@@ -2003,6 +2003,7 @@ POW_OVER_UNDER_ERROR:
;;
GLOBAL_LIBM_END(__powf)
+libm_alias_float_other (__pow, __pow)
#ifdef SHARED
.symver __powf,powf@@GLIBC_2.27
.weak __powf_compat
diff --git a/sysdeps/ia64/fpu/e_remainderf.S b/sysdeps/ia64/fpu/e_remainderf.S
index df4cfdd..5b8d029 100644
--- a/sysdeps/ia64/fpu/e_remainderf.S
+++ b/sysdeps/ia64/fpu/e_remainderf.S
@@ -548,6 +548,7 @@ EXP_ERROR_RETURN:
}
GLOBAL_IEEE754_END(remainderf)
+libm_alias_float_other (__remainder, remainder)
weak_alias (__remainderf, dremf)
diff --git a/sysdeps/ia64/fpu/e_sinhf.S b/sysdeps/ia64/fpu/e_sinhf.S
index 6d808cb..08b873e 100644
--- a/sysdeps/ia64/fpu/e_sinhf.S
+++ b/sysdeps/ia64/fpu/e_sinhf.S
@@ -689,6 +689,7 @@ SINH_UNORM:
;;
GLOBAL_IEEE754_END(sinhf)
+libm_alias_float_other (__sinh, sinh)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_sqrtf.S b/sysdeps/ia64/fpu/e_sqrtf.S
index d50ff01..6741bb4 100644
--- a/sysdeps/ia64/fpu/e_sqrtf.S
+++ b/sysdeps/ia64/fpu/e_sqrtf.S
@@ -203,6 +203,7 @@ GLOBAL_IEEE754_ENTRY(sqrtf)
// with the result equal to frcpa(x)
//
GLOBAL_IEEE754_END(sqrtf)
+libm_alias_float_other (__sqrt, sqrt)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/libm-symbols.h b/sysdeps/ia64/fpu/libm-symbols.h
index fe6451b..4a551c9 100644
--- a/sysdeps/ia64/fpu/libm-symbols.h
+++ b/sysdeps/ia64/fpu/libm-symbols.h
@@ -2,6 +2,7 @@
# include <sysdep.h>
# undef ret /* get rid of the stupid "ret" macro; it breaks br.ret */
+# include <libm-alias-float.h>
# include <libm-alias-double.h>
# include <libm-alias-ldouble.h>
diff --git a/sysdeps/ia64/fpu/libm_sincosf.S b/sysdeps/ia64/fpu/libm_sincosf.S
index 26e66fa..f38c247 100644
--- a/sysdeps/ia64/fpu/libm_sincosf.S
+++ b/sysdeps/ia64/fpu/libm_sincosf.S
@@ -421,6 +421,7 @@ GLOBAL_IEEE754_ENTRY(sincosf)
br.cond.sptk _CISF_COMMON
};;
GLOBAL_IEEE754_END(sincosf)
+libm_alias_float_other (__sincos, sincos)
GLOBAL_LIBM_ENTRY(__libm_sincosf)
{ .mlx
diff --git a/sysdeps/ia64/fpu/s_asinhf.S b/sysdeps/ia64/fpu/s_asinhf.S
index df616de..16c0fc4 100644
--- a/sysdeps/ia64/fpu/s_asinhf.S
+++ b/sysdeps/ia64/fpu/s_asinhf.S
@@ -935,3 +935,4 @@ ASINH_UNORM:
;;
GLOBAL_LIBM_END(asinhf)
+libm_alias_float_other (asinh, asinh)
diff --git a/sysdeps/ia64/fpu/s_atanf.S b/sysdeps/ia64/fpu/s_atanf.S
index 8d9e440..cb3ca78 100644
--- a/sysdeps/ia64/fpu/s_atanf.S
+++ b/sysdeps/ia64/fpu/s_atanf.S
@@ -553,3 +553,4 @@ ATANF_X_INF_NAN_ZERO:
;;
GLOBAL_LIBM_END(atanf)
+libm_alias_float_other (atan, atan)
diff --git a/sysdeps/ia64/fpu/s_cbrtf.S b/sysdeps/ia64/fpu/s_cbrtf.S
index 5d51963..c0d1022 100644
--- a/sysdeps/ia64/fpu/s_cbrtf.S
+++ b/sysdeps/ia64/fpu/s_cbrtf.S
@@ -759,3 +759,4 @@ GLOBAL_LIBM_ENTRY(cbrtf)
GLOBAL_LIBM_END(cbrtf)
+libm_alias_float_other (cbrt, cbrt)
diff --git a/sysdeps/ia64/fpu/s_ceilf.S b/sysdeps/ia64/fpu/s_ceilf.S
index 051534a..b1789d0 100644
--- a/sysdeps/ia64/fpu/s_ceilf.S
+++ b/sysdeps/ia64/fpu/s_ceilf.S
@@ -222,3 +222,4 @@ CEIL_UNORM:
;;
GLOBAL_LIBM_END(ceilf)
+libm_alias_float_other (ceil, ceil)
diff --git a/sysdeps/ia64/fpu/s_copysign.S b/sysdeps/ia64/fpu/s_copysign.S
index 5628a5d..ff6fe9f 100644
--- a/sysdeps/ia64/fpu/s_copysign.S
+++ b/sysdeps/ia64/fpu/s_copysign.S
@@ -33,5 +33,5 @@ strong_alias (__copysign, __libm_copysignf)
strong_alias (__copysign, __libm_copysignl)
libm_alias_double (__copysign, copysign)
-weak_alias (__copysignf, copysignf)
+libm_alias_float (__copysign, copysign)
libm_alias_ldouble (__copysign, copysign)
diff --git a/sysdeps/ia64/fpu/s_cosf.S b/sysdeps/ia64/fpu/s_cosf.S
index 2dcdaa8..42de260 100644
--- a/sysdeps/ia64/fpu/s_cosf.S
+++ b/sysdeps/ia64/fpu/s_cosf.S
@@ -409,6 +409,7 @@ GLOBAL_IEEE754_ENTRY(sinf)
};;
GLOBAL_IEEE754_END(sinf)
+libm_alias_float_other (__sin, sin)
GLOBAL_IEEE754_ENTRY(cosf)
@@ -659,6 +660,7 @@ _SINCOSF_SPECIAL_ARGS:
};;
GLOBAL_IEEE754_END(cosf)
+libm_alias_float_other (__cos, cos)
//////////// x >= 2^24 - large arguments routine call ////////////
LOCAL_LIBM_ENTRY(__libm_callout_sincosf)
diff --git a/sysdeps/ia64/fpu/s_erfcf.S b/sysdeps/ia64/fpu/s_erfcf.S
index f9502d7..88da077 100644
--- a/sysdeps/ia64/fpu/s_erfcf.S
+++ b/sysdeps/ia64/fpu/s_erfcf.S
@@ -918,6 +918,7 @@ SPECIAL:
;;
GLOBAL_LIBM_END(erfcf)
+libm_alias_float_other (erfc, erfc)
// Call via (p10) br.cond.spnt __libm_error_region
diff --git a/sysdeps/ia64/fpu/s_erff.S b/sysdeps/ia64/fpu/s_erff.S
index a5cde66..e201836 100644
--- a/sysdeps/ia64/fpu/s_erff.S
+++ b/sysdeps/ia64/fpu/s_erff.S
@@ -556,3 +556,4 @@ erff_denormal:
;;
GLOBAL_LIBM_END(erff)
+libm_alias_float_other (erf, erf)
diff --git a/sysdeps/ia64/fpu/s_expm1f.S b/sysdeps/ia64/fpu/s_expm1f.S
index 55264a9..c324139 100644
--- a/sysdeps/ia64/fpu/s_expm1f.S
+++ b/sysdeps/ia64/fpu/s_expm1f.S
@@ -612,6 +612,7 @@ EXPM1_CERTAIN_OVERFLOW:
;;
GLOBAL_IEEE754_END(expm1f)
+libm_alias_float_other (__expm1, expm1)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_fabsf.S b/sysdeps/ia64/fpu/s_fabsf.S
index 546865f..b851ad0 100644
--- a/sysdeps/ia64/fpu/s_fabsf.S
+++ b/sysdeps/ia64/fpu/s_fabsf.S
@@ -80,3 +80,4 @@ GLOBAL_IEEE754_ENTRY(fabsf)
}
GLOBAL_IEEE754_END(fabsf)
+libm_alias_float_other (__fabs, fabs)
diff --git a/sysdeps/ia64/fpu/s_fdimf.S b/sysdeps/ia64/fpu/s_fdimf.S
index 10bc5a6..88f67a5 100644
--- a/sysdeps/ia64/fpu/s_fdimf.S
+++ b/sysdeps/ia64/fpu/s_fdimf.S
@@ -163,6 +163,7 @@ FDIM_OVERFLOW:
;;
GLOBAL_LIBM_END(fdimf)
+libm_alias_float_other (fdim, fdim)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_floorf.S b/sysdeps/ia64/fpu/s_floorf.S
index a3f2095..8cd1ca6 100644
--- a/sysdeps/ia64/fpu/s_floorf.S
+++ b/sysdeps/ia64/fpu/s_floorf.S
@@ -213,3 +213,4 @@ FLOOR_UNORM:
;;
GLOBAL_IEEE754_END(floorf)
+libm_alias_float_other (__floor, floor)
diff --git a/sysdeps/ia64/fpu/s_fmaf.S b/sysdeps/ia64/fpu/s_fmaf.S
index 1324675..e59b634 100644
--- a/sysdeps/ia64/fpu/s_fmaf.S
+++ b/sysdeps/ia64/fpu/s_fmaf.S
@@ -69,3 +69,4 @@ GLOBAL_LIBM_ENTRY(fmaf)
;;
GLOBAL_LIBM_END(fmaf)
+libm_alias_float_other (fma, fma)
diff --git a/sysdeps/ia64/fpu/s_fmaxf.S b/sysdeps/ia64/fpu/s_fmaxf.S
index 30a78c7..04f3f88 100644
--- a/sysdeps/ia64/fpu/s_fmaxf.S
+++ b/sysdeps/ia64/fpu/s_fmaxf.S
@@ -112,3 +112,4 @@ GLOBAL_LIBM_ENTRY(fmaxf)
;;
GLOBAL_LIBM_END(fmaxf)
+libm_alias_float_other (fmax, fmax)
diff --git a/sysdeps/ia64/fpu/s_frexpf.c b/sysdeps/ia64/fpu/s_frexpf.c
index 03290b2..fbdee84 100644
--- a/sysdeps/ia64/fpu/s_frexpf.c
+++ b/sysdeps/ia64/fpu/s_frexpf.c
@@ -65,3 +65,4 @@ float frexpf(float x, int *y)
#endif
}
+libm_alias_float_other (frexp, frexp)
diff --git a/sysdeps/ia64/fpu/s_ldexpf.c b/sysdeps/ia64/fpu/s_ldexpf.c
index 64e335b..c56db0e 100644
--- a/sysdeps/ia64/fpu/s_ldexpf.c
+++ b/sysdeps/ia64/fpu/s_ldexpf.c
@@ -59,3 +59,4 @@ float ldexpf(float x, int n)
#endif
}
+libm_alias_float_other (ldexp, ldexp)
diff --git a/sysdeps/ia64/fpu/s_log1pf.S b/sysdeps/ia64/fpu/s_log1pf.S
index b04b18e..45638b5 100644
--- a/sysdeps/ia64/fpu/s_log1pf.S
+++ b/sysdeps/ia64/fpu/s_log1pf.S
@@ -733,6 +733,7 @@ log_libm_err:
;;
GLOBAL_IEEE754_END(log1pf)
+libm_alias_float_other (__log1p, log1p)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_logbf.S b/sysdeps/ia64/fpu/s_logbf.S
index eefa270..72ecb39 100644
--- a/sysdeps/ia64/fpu/s_logbf.S
+++ b/sysdeps/ia64/fpu/s_logbf.S
@@ -218,6 +218,7 @@ LOGB_ZERO:
;;
GLOBAL_LIBM_END(logbf)
+libm_alias_float_other (logb, logb)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_modff.S b/sysdeps/ia64/fpu/s_modff.S
index 36e02be..31f43c6 100644
--- a/sysdeps/ia64/fpu/s_modff.S
+++ b/sysdeps/ia64/fpu/s_modff.S
@@ -276,3 +276,4 @@ MODF_DENORM:
}
GLOBAL_LIBM_END(modff)
+libm_alias_float_other (modf, modf)
diff --git a/sysdeps/ia64/fpu/s_nearbyintf.S b/sysdeps/ia64/fpu/s_nearbyintf.S
index aac7b5c..8a80fb0 100644
--- a/sysdeps/ia64/fpu/s_nearbyintf.S
+++ b/sysdeps/ia64/fpu/s_nearbyintf.S
@@ -215,3 +215,4 @@ RINT_NOT_ROUND_NEAREST:
;;
GLOBAL_LIBM_END(nearbyintf)
+libm_alias_float_other (nearbyint, nearbyint)
diff --git a/sysdeps/ia64/fpu/s_nextafterf.S b/sysdeps/ia64/fpu/s_nextafterf.S
index 5769ce8..ca8d6ab 100644
--- a/sysdeps/ia64/fpu/s_nextafterf.S
+++ b/sysdeps/ia64/fpu/s_nextafterf.S
@@ -437,6 +437,7 @@ NEXT_OVERFLOW:
;;
GLOBAL_LIBM_END(nextafterf)
+libm_alias_float_other (nextafter, nextafter)
LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_rintf.S b/sysdeps/ia64/fpu/s_rintf.S
index 05d6b41..1d9a538 100644
--- a/sysdeps/ia64/fpu/s_rintf.S
+++ b/sysdeps/ia64/fpu/s_rintf.S
@@ -227,3 +227,4 @@ RINT_NOT_ROUND_NEAREST:
;;
GLOBAL_IEEE754_END(rintf)
+libm_alias_float_other (__rint, rint)
diff --git a/sysdeps/ia64/fpu/s_roundf.S b/sysdeps/ia64/fpu/s_roundf.S
index c0351b4..8de5954 100644
--- a/sysdeps/ia64/fpu/s_roundf.S
+++ b/sysdeps/ia64/fpu/s_roundf.S
@@ -231,3 +231,4 @@ ROUND_UNORM:
;;
GLOBAL_LIBM_END(roundf)
+libm_alias_float_other (round, round)
diff --git a/sysdeps/ia64/fpu/s_scalblnf.c b/sysdeps/ia64/fpu/s_scalblnf.c
index ed92bfd..d07069d 100644
--- a/sysdeps/ia64/fpu/s_scalblnf.c
+++ b/sysdeps/ia64/fpu/s_scalblnf.c
@@ -59,3 +59,4 @@ float scalblnf(float x, long int n)
#endif
}
+libm_alias_float_other (scalbln, scalbln)
diff --git a/sysdeps/ia64/fpu/s_scalbnf.c b/sysdeps/ia64/fpu/s_scalbnf.c
index ec2582c..ee22960 100644
--- a/sysdeps/ia64/fpu/s_scalbnf.c
+++ b/sysdeps/ia64/fpu/s_scalbnf.c
@@ -60,4 +60,4 @@ float __scalbnf(float x, int n)
}
-weak_alias (__scalbnf, scalbnf)
+libm_alias_float (__scalbn, scalbn)
diff --git a/sysdeps/ia64/fpu/s_tanf.S b/sysdeps/ia64/fpu/s_tanf.S
index 7df762f..a25bb94 100644
--- a/sysdeps/ia64/fpu/s_tanf.S
+++ b/sysdeps/ia64/fpu/s_tanf.S
@@ -550,6 +550,7 @@ Return_From_Huges:
;;
GLOBAL_IEEE754_END(tanf)
+libm_alias_float_other (__tan, tan)
LOCAL_LIBM_ENTRY(__libm_callout)
diff --git a/sysdeps/ia64/fpu/s_tanhf.S b/sysdeps/ia64/fpu/s_tanhf.S
index 4749477..ffbc9ea 100644
--- a/sysdeps/ia64/fpu/s_tanhf.S
+++ b/sysdeps/ia64/fpu/s_tanhf.S
@@ -579,3 +579,4 @@ tanhf_denormal:
;;
GLOBAL_LIBM_END(tanhf)
+libm_alias_float_other (tanh, tanh)
diff --git a/sysdeps/ia64/fpu/s_truncf.S b/sysdeps/ia64/fpu/s_truncf.S
index ff40bc7..b9a055b 100644
--- a/sysdeps/ia64/fpu/s_truncf.S
+++ b/sysdeps/ia64/fpu/s_truncf.S
@@ -164,3 +164,4 @@ TRUNC_UNORM:
;;
GLOBAL_LIBM_END(truncf)
+libm_alias_float_other (trunc, trunc)
diff --git a/sysdeps/ia64/fpu/w_lgammaf_main.c b/sysdeps/ia64/fpu/w_lgammaf_main.c
index 2f3dd41..dc781aa 100644
--- a/sysdeps/ia64/fpu/w_lgammaf_main.c
+++ b/sysdeps/ia64/fpu/w_lgammaf_main.c
@@ -69,6 +69,7 @@ float LGFUNC (lgammaf) (float x)
compat_symbol (libm, __lgammaf_compat, lgammaf, LGAMMA_OLD_VER);
# else
versioned_symbol (libm, __ieee754_lgammaf, lgammaf, LGAMMA_NEW_VER);
+libm_alias_float_other (__ieee754_lgamma, lgamma)
# endif
# if GAMMA_ALIAS
strong_alias (LGFUNC (lgammaf), __ieee754_gammaf)
diff --git a/sysdeps/ia64/fpu/w_tgammaf_compat.S b/sysdeps/ia64/fpu/w_tgammaf_compat.S
index 0fbd840..7ffc761 100644
--- a/sysdeps/ia64/fpu/w_tgammaf_compat.S
+++ b/sysdeps/ia64/fpu/w_tgammaf_compat.S
@@ -1276,6 +1276,7 @@ tgammaf_libm_err:
};;
GLOBAL_LIBM_END(tgammaf)
+libm_alias_float_other (tgamma, tgamma)
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue