about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-11-23 23:34:54 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-11-23 23:34:54 +0000
commit3a327316ad615f7e4264d3e13d23052d9dc84694 (patch)
tree72a42c7b327f79438b80def9fd9c9d04b7628109 /sysdeps
parent0a947e061d47c9710838f210506215bd9533324b (diff)
downloadglibc-3a327316ad615f7e4264d3e13d23052d9dc84694.tar.gz
glibc-3a327316ad615f7e4264d3e13d23052d9dc84694.tar.xz
glibc-3a327316ad615f7e4264d3e13d23052d9dc84694.zip
Use libm_alias_ldouble macros in sysdeps/ia64/fpu.
Continuing the preparation for additional _FloatN / _FloatNx aliases,
this patch makes long double functions in sysdeps/ia64/fpu use
libm_alias_ldouble macros, so that they can have _Float64x aliases
added in future.

Most ia64 libm functions are defined using ia64-specific macros in
libm-symbols.h.  These are left unchanged, with libm-alias-ldouble.h
included from libm-symbols.h (and the expectation that other
libm-alias-*.h headers will be included from there as well in future),
and libm_alias_ldouble_other then being used in most cases to define
aliases for any additional types (currently the empty set).  Functions
that used weak_alias are converted to use libm_alias_ldouble.

Tested (compilation only) with build-many-glibcs.py for ia64,
including that installed stripped shared libraries are unchanged by
the patch.

	* sysdeps/ia64/fpu/libm-symbols.h: Include <libm-alias-ldouble.h>.
	* sysdeps/ia64/fpu/e_acoshl.S (acoshl): Use
	libm_alias_ldouble_other.
	* sysdeps/ia64/fpu/e_acosl.S (acosl): Likewise.
	* sysdeps/ia64/fpu/e_asinl.S (asinl): Likewise.
	* sysdeps/ia64/fpu/e_atanhl.S (atanhl): Likewise.
	* sysdeps/ia64/fpu/e_coshl.S (coshl): Likewise.
	* sysdeps/ia64/fpu/e_exp10l.S (exp10l): Likewise.
	* sysdeps/ia64/fpu/e_exp2l.S (exp2l): Likewise.
	* sysdeps/ia64/fpu/e_fmodl.S (fmodl): Likewise.
	* sysdeps/ia64/fpu/e_hypotl.S (hypotl): Likewise.
	* sysdeps/ia64/fpu/e_lgammal_r.c (lgammal_r): Define using
	libm_alias_ldouble_r.
	* sysdeps/ia64/fpu/e_log2l.S (log2l): Use
	libm_alias_ldouble_other.
	* sysdeps/ia64/fpu/e_logl.S (logl): Likewise.
	(log10l): Likewise.
	* sysdeps/ia64/fpu/e_powl.S (powl): Likewise.
	* sysdeps/ia64/fpu/e_remainderl.S (remainderl): Likewise.
	* sysdeps/ia64/fpu/e_sinhl.S (sinhl): Likewise.
	* sysdeps/ia64/fpu/e_sqrtl.S (sqrtl): Likewise.
	* sysdeps/ia64/fpu/libm_sincosl.S (sincosl): Likewise.
	* sysdeps/ia64/fpu/s_asinhl.S (asinhl): Likewise.
	* sysdeps/ia64/fpu/s_atanl.S (atanl): Likewise.
	(atan2l): Likewise.
	* sysdeps/ia64/fpu/s_cbrtl.S (cbrtl): Likewise.
	* sysdeps/ia64/fpu/s_ceill.S (ceill): Likewise.
	* sysdeps/ia64/fpu/s_copysign.S (copysignl): Define using
	libm_alias_ldouble.
	* sysdeps/ia64/fpu/s_cosl.S (sinl): Use libm_alias_ldouble_other.
	(cosl): Likewise.
	* sysdeps/ia64/fpu/s_erfcl.S (erfcl): Likewise.
	* sysdeps/ia64/fpu/s_erfl.S (erfl): Likewise.
	* sysdeps/ia64/fpu/s_expm1l.S (expm1l): Likewise.
	(expl): Likewise.
	* sysdeps/ia64/fpu/s_fabsl.S (fabsl): Likewise.
	* sysdeps/ia64/fpu/s_fdiml.S (fdiml): Likewise.
	* sysdeps/ia64/fpu/s_floorl.S (floorl): Likewise.
	* sysdeps/ia64/fpu/s_fmal.S (fmal): Likewise.
	* sysdeps/ia64/fpu/s_fmaxl.S (fmaxl): Likewise.
	* sysdeps/ia64/fpu/s_frexpl.c (frexpl): Likewise.
	* sysdeps/ia64/fpu/s_ldexpl.c (ldexpl): Likewise.
	* sysdeps/ia64/fpu/s_log1pl.S (log1pl): Likewise.
	* sysdeps/ia64/fpu/s_logbl.S (logbl): Likewise.
	* sysdeps/ia64/fpu/s_modfl.S (modfl): Likewise.
	* sysdeps/ia64/fpu/s_nearbyintl.S (nearbyintl): Define using
	libm_alias_ldouble.
	* sysdeps/ia64/fpu/s_nextafterl.S (nextafterl): Use
	libm_alias_ldouble_other.
	* sysdeps/ia64/fpu/s_rintl.S (rintl): Likewise.
	* sysdeps/ia64/fpu/s_roundl.S (roundl): Likewise.
	* sysdeps/ia64/fpu/s_scalbnl.c (scalbnl): Define using
	libm_alias_ldouble.
	* sysdeps/ia64/fpu/s_tanhl.S (tanhl): Use
	libm_alias_ldouble_other.
	* sysdeps/ia64/fpu/s_tanl.S (tanl): Likewise.
	* sysdeps/ia64/fpu/s_truncl.S (truncl): Likewise.
	* sysdeps/ia64/fpu/w_lgammal_main.c
	[BUILD_LGAMMA && !USE_AS_COMPAT] (lgammal): Likewise.
	* sysdeps/ia64/fpu/w_tgammal_compat.S (tgammal): Likewise.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/ia64/fpu/e_acoshl.S1
-rw-r--r--sysdeps/ia64/fpu/e_acosl.S1
-rw-r--r--sysdeps/ia64/fpu/e_asinl.S1
-rw-r--r--sysdeps/ia64/fpu/e_atanhl.S1
-rw-r--r--sysdeps/ia64/fpu/e_coshl.S1
-rw-r--r--sysdeps/ia64/fpu/e_exp10l.S1
-rw-r--r--sysdeps/ia64/fpu/e_exp2l.S1
-rw-r--r--sysdeps/ia64/fpu/e_fmodl.S1
-rw-r--r--sysdeps/ia64/fpu/e_hypotl.S1
-rw-r--r--sysdeps/ia64/fpu/e_lgammal_r.c2
-rw-r--r--sysdeps/ia64/fpu/e_log2l.S1
-rw-r--r--sysdeps/ia64/fpu/e_logl.S2
-rw-r--r--sysdeps/ia64/fpu/e_powl.S1
-rw-r--r--sysdeps/ia64/fpu/e_remainderl.S1
-rw-r--r--sysdeps/ia64/fpu/e_sinhl.S1
-rw-r--r--sysdeps/ia64/fpu/e_sqrtl.S1
-rw-r--r--sysdeps/ia64/fpu/libm-symbols.h2
-rw-r--r--sysdeps/ia64/fpu/libm_sincosl.S1
-rw-r--r--sysdeps/ia64/fpu/s_asinhl.S1
-rw-r--r--sysdeps/ia64/fpu/s_atanl.S2
-rw-r--r--sysdeps/ia64/fpu/s_cbrtl.S1
-rw-r--r--sysdeps/ia64/fpu/s_ceill.S1
-rw-r--r--sysdeps/ia64/fpu/s_copysign.S2
-rw-r--r--sysdeps/ia64/fpu/s_cosl.S2
-rw-r--r--sysdeps/ia64/fpu/s_erfcl.S1
-rw-r--r--sysdeps/ia64/fpu/s_erfl.S1
-rw-r--r--sysdeps/ia64/fpu/s_expm1l.S2
-rw-r--r--sysdeps/ia64/fpu/s_fabsl.S1
-rw-r--r--sysdeps/ia64/fpu/s_fdiml.S1
-rw-r--r--sysdeps/ia64/fpu/s_floorl.S1
-rw-r--r--sysdeps/ia64/fpu/s_fmal.S1
-rw-r--r--sysdeps/ia64/fpu/s_fmaxl.S1
-rw-r--r--sysdeps/ia64/fpu/s_frexpl.c1
-rw-r--r--sysdeps/ia64/fpu/s_ldexpl.c1
-rw-r--r--sysdeps/ia64/fpu/s_log1pl.S1
-rw-r--r--sysdeps/ia64/fpu/s_logbl.S1
-rw-r--r--sysdeps/ia64/fpu/s_modfl.S1
-rw-r--r--sysdeps/ia64/fpu/s_nearbyintl.S2
-rw-r--r--sysdeps/ia64/fpu/s_nextafterl.S1
-rw-r--r--sysdeps/ia64/fpu/s_rintl.S1
-rw-r--r--sysdeps/ia64/fpu/s_roundl.S1
-rw-r--r--sysdeps/ia64/fpu/s_scalbnl.c2
-rw-r--r--sysdeps/ia64/fpu/s_tanhl.S1
-rw-r--r--sysdeps/ia64/fpu/s_tanl.S1
-rw-r--r--sysdeps/ia64/fpu/s_truncl.S1
-rw-r--r--sysdeps/ia64/fpu/w_lgammal_main.c1
-rw-r--r--sysdeps/ia64/fpu/w_tgammal_compat.S1
47 files changed, 52 insertions, 4 deletions
diff --git a/sysdeps/ia64/fpu/e_acoshl.S b/sysdeps/ia64/fpu/e_acoshl.S
index 9bd556389b..b5c58884f2 100644
--- a/sysdeps/ia64/fpu/e_acoshl.S
+++ b/sysdeps/ia64/fpu/e_acoshl.S
@@ -1650,6 +1650,7 @@ acoshl_lt_pone:
 };;
 
 GLOBAL_LIBM_END(acoshl)
+libm_alias_ldouble_other (acosh, acosh)
 
 
 
diff --git a/sysdeps/ia64/fpu/e_acosl.S b/sysdeps/ia64/fpu/e_acosl.S
index 8c5155a2ec..107266b6a3 100644
--- a/sysdeps/ia64/fpu/e_acosl.S
+++ b/sysdeps/ia64/fpu/e_acosl.S
@@ -2481,6 +2481,7 @@ acosl_SPECIAL_CASES:
 
 
 GLOBAL_LIBM_END(acosl)
+libm_alias_ldouble_other (acos, acos)
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_asinl.S b/sysdeps/ia64/fpu/e_asinl.S
index 792a0c6578..18153d427f 100644
--- a/sysdeps/ia64/fpu/e_asinl.S
+++ b/sysdeps/ia64/fpu/e_asinl.S
@@ -2457,6 +2457,7 @@ SMALL_S:
 
 
 GLOBAL_LIBM_END(asinl)
+libm_alias_ldouble_other (asin, asin)
 
 
 
diff --git a/sysdeps/ia64/fpu/e_atanhl.S b/sysdeps/ia64/fpu/e_atanhl.S
index 5d828d5ffa..96c6360a2b 100644
--- a/sysdeps/ia64/fpu/e_atanhl.S
+++ b/sysdeps/ia64/fpu/e_atanhl.S
@@ -1101,6 +1101,7 @@ atanhl_gt_one:
 };;
 
 GLOBAL_LIBM_END(atanhl)
+libm_alias_ldouble_other (atanh, atanh)
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
 .prologue
diff --git a/sysdeps/ia64/fpu/e_coshl.S b/sysdeps/ia64/fpu/e_coshl.S
index 43da1ab04d..0d18f2d06a 100644
--- a/sysdeps/ia64/fpu/e_coshl.S
+++ b/sysdeps/ia64/fpu/e_coshl.S
@@ -1032,6 +1032,7 @@ COSH_HUGE:
 ;;
 
 GLOBAL_IEEE754_END(coshl)
+libm_alias_ldouble_other (__cosh, cosh)
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_exp10l.S b/sysdeps/ia64/fpu/e_exp10l.S
index 0a610b3597..0cc54e2b58 100644
--- a/sysdeps/ia64/fpu/e_exp10l.S
+++ b/sysdeps/ia64/fpu/e_exp10l.S
@@ -749,6 +749,7 @@ OUT_RANGE_EXP10:
 ;;
 
 GLOBAL_IEEE754_END(exp10l)
+libm_alias_ldouble_other (__exp10, exp10)
 #if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
 compat_symbol (libm, exp10l, pow10l, GLIBC_2_2)
 #endif
diff --git a/sysdeps/ia64/fpu/e_exp2l.S b/sysdeps/ia64/fpu/e_exp2l.S
index 743ed3558b..c2912ab6de 100644
--- a/sysdeps/ia64/fpu/e_exp2l.S
+++ b/sysdeps/ia64/fpu/e_exp2l.S
@@ -746,6 +746,7 @@ OUT_RANGE_exp2l:
 
 
 GLOBAL_LIBM_END(exp2l)
+libm_alias_ldouble_other (exp2, exp2)
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_fmodl.S b/sysdeps/ia64/fpu/e_fmodl.S
index 258e4ef8a6..3bd9b77812 100644
--- a/sysdeps/ia64/fpu/e_fmodl.S
+++ b/sysdeps/ia64/fpu/e_fmodl.S
@@ -606,6 +606,7 @@ FMOD_B_ZERO:
 ;;
 
 GLOBAL_IEEE754_END(fmodl)
+libm_alias_ldouble_other (__fmod, fmod)
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
 .prologue
diff --git a/sysdeps/ia64/fpu/e_hypotl.S b/sysdeps/ia64/fpu/e_hypotl.S
index 07bb6860ed..9a3f31485f 100644
--- a/sysdeps/ia64/fpu/e_hypotl.S
+++ b/sysdeps/ia64/fpu/e_hypotl.S
@@ -422,6 +422,7 @@ GLOBAL_IEEE754_ENTRY(hypotl)
 (p9) br.ret.sptk b0;;
 }
 GLOBAL_IEEE754_END(hypotl)
+libm_alias_ldouble_other (__hypot, hypot)
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
 .prologue
diff --git a/sysdeps/ia64/fpu/e_lgammal_r.c b/sysdeps/ia64/fpu/e_lgammal_r.c
index 4451201b77..1f227c86db 100644
--- a/sysdeps/ia64/fpu/e_lgammal_r.c
+++ b/sysdeps/ia64/fpu/e_lgammal_r.c
@@ -59,7 +59,7 @@ long double __ieee754_lgammal_r(long double x, int* signgam)
 {
     return __libm_lgammal(x, signgam, sizeof(*signgam));
 }
-weak_alias (__ieee754_lgammal_r, lgammal_r)
+libm_alias_ldouble_r (__ieee754_lgamma, lgamma, _r)
 
 #ifndef _LIBC
 long double __ieee754_gammal_r(long double x, int* signgam)
diff --git a/sysdeps/ia64/fpu/e_log2l.S b/sysdeps/ia64/fpu/e_log2l.S
index 4d5a828f58..51bfd9a278 100644
--- a/sysdeps/ia64/fpu/e_log2l.S
+++ b/sysdeps/ia64/fpu/e_log2l.S
@@ -760,6 +760,7 @@ LOG2_PSEUDO_ZERO:
 
 
 GLOBAL_IEEE754_END(log2l)
+libm_alias_ldouble_other (__log2, log2)
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_logl.S b/sysdeps/ia64/fpu/e_logl.S
index 996f64aaee..2ffe106a26 100644
--- a/sysdeps/ia64/fpu/e_logl.S
+++ b/sysdeps/ia64/fpu/e_logl.S
@@ -633,6 +633,7 @@ GLOBAL_IEEE754_ENTRY(logl)
 ;;
 
 GLOBAL_IEEE754_END(logl)
+libm_alias_ldouble_other (__log, log)
 
 
 GLOBAL_IEEE754_ENTRY(log10l)
@@ -1145,6 +1146,7 @@ LOGL_64_negative:
 
 
 GLOBAL_IEEE754_END(log10l)
+libm_alias_ldouble_other (__log10, log10)
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
 .prologue
diff --git a/sysdeps/ia64/fpu/e_powl.S b/sysdeps/ia64/fpu/e_powl.S
index 3f93f6090e..4596322f15 100644
--- a/sysdeps/ia64/fpu/e_powl.S
+++ b/sysdeps/ia64/fpu/e_powl.S
@@ -2755,6 +2755,7 @@ POWL_64_SQRT:
 ;;
 
 GLOBAL_LIBM_END(powl)
+libm_alias_ldouble_other (pow, pow)
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_remainderl.S b/sysdeps/ia64/fpu/e_remainderl.S
index d9a9ee8d29..bdc2b8fae4 100644
--- a/sysdeps/ia64/fpu/e_remainderl.S
+++ b/sysdeps/ia64/fpu/e_remainderl.S
@@ -557,6 +557,7 @@ EXP_ERROR_RETURN:
 }
 
 GLOBAL_IEEE754_END(remainderl)
+libm_alias_ldouble_other (__remainder, remainder)
 weak_alias (__remainderl, dreml)
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_sinhl.S b/sysdeps/ia64/fpu/e_sinhl.S
index b560999514..65cfbf4066 100644
--- a/sysdeps/ia64/fpu/e_sinhl.S
+++ b/sysdeps/ia64/fpu/e_sinhl.S
@@ -1054,6 +1054,7 @@ SINH_HUGE:
 ;;
 
 GLOBAL_IEEE754_END(sinhl)
+libm_alias_ldouble_other (__sinh, sinh)
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/e_sqrtl.S b/sysdeps/ia64/fpu/e_sqrtl.S
index 6aa402150f..e1c22344d0 100644
--- a/sysdeps/ia64/fpu/e_sqrtl.S
+++ b/sysdeps/ia64/fpu/e_sqrtl.S
@@ -221,6 +221,7 @@ alloc r32= ar.pfs,0,5,4,0
 
 // END DOUBLE EXTENDED PRECISION MINIMUM LATENCY SQUARE ROOT ALGORITHM
 GLOBAL_IEEE754_END(sqrtl)
+libm_alias_ldouble_other (__sqrt, sqrt)
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
 .prologue
diff --git a/sysdeps/ia64/fpu/libm-symbols.h b/sysdeps/ia64/fpu/libm-symbols.h
index 505131b813..fbc840577f 100644
--- a/sysdeps/ia64/fpu/libm-symbols.h
+++ b/sysdeps/ia64/fpu/libm-symbols.h
@@ -2,6 +2,8 @@
 # include <sysdep.h>
 # undef ret	/* get rid of the stupid "ret" macro; it breaks br.ret */
 
+# include <libm-alias-ldouble.h>
+
 /* Support for compatible assembler handling.  */
 
 # define ASM_SIZE_DIRECTIVE(name) .size name,.-name
diff --git a/sysdeps/ia64/fpu/libm_sincosl.S b/sysdeps/ia64/fpu/libm_sincosl.S
index 7fe92c549c..f76b54d3de 100644
--- a/sysdeps/ia64/fpu/libm_sincosl.S
+++ b/sysdeps/ia64/fpu/libm_sincosl.S
@@ -835,6 +835,7 @@ GLOBAL_IEEE754_ENTRY(sincosl)
     br.cond.sptk _COMMON_SINCOSL
 };;
 GLOBAL_IEEE754_END(sincosl)
+libm_alias_ldouble_other (__sincos, sincos)
 
 GLOBAL_LIBM_ENTRY(__libm_sincosl)
 { .mlx  ///////////////////////////// 1 /////////////////
diff --git a/sysdeps/ia64/fpu/s_asinhl.S b/sysdeps/ia64/fpu/s_asinhl.S
index 5b8e73b4dc..baace924f2 100644
--- a/sysdeps/ia64/fpu/s_asinhl.S
+++ b/sysdeps/ia64/fpu/s_asinhl.S
@@ -1342,3 +1342,4 @@ near_0:
 };;
 
 GLOBAL_LIBM_END(asinhl)
+libm_alias_ldouble_other (asinh, asinh)
diff --git a/sysdeps/ia64/fpu/s_atanl.S b/sysdeps/ia64/fpu/s_atanl.S
index fea68abfde..8d4951acf0 100644
--- a/sysdeps/ia64/fpu/s_atanl.S
+++ b/sysdeps/ia64/fpu/s_atanl.S
@@ -813,6 +813,7 @@ GLOBAL_IEEE754_ENTRY(atanl)
 ;;
 
 GLOBAL_IEEE754_END(atanl)
+libm_alias_ldouble_other (__atan, atan)
 
 GLOBAL_IEEE754_ENTRY(atan2l)
 
@@ -1953,6 +1954,7 @@ ATANL_ArgY_Not_INF:
 ;;
 
 GLOBAL_IEEE754_END(atan2l)
+libm_alias_ldouble_other (__atan2, atan2)
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
 .prologue
diff --git a/sysdeps/ia64/fpu/s_cbrtl.S b/sysdeps/ia64/fpu/s_cbrtl.S
index 301c333ff7..bfd2d5a5a0 100644
--- a/sysdeps/ia64/fpu/s_cbrtl.S
+++ b/sysdeps/ia64/fpu/s_cbrtl.S
@@ -982,3 +982,4 @@ GLOBAL_LIBM_ENTRY(cbrtl)
 ;;
 
 GLOBAL_LIBM_END(cbrtl)
+libm_alias_ldouble_other (cbrt, cbrt)
diff --git a/sysdeps/ia64/fpu/s_ceill.S b/sysdeps/ia64/fpu/s_ceill.S
index 71cb01d3fa..eb913d25e3 100644
--- a/sysdeps/ia64/fpu/s_ceill.S
+++ b/sysdeps/ia64/fpu/s_ceill.S
@@ -222,3 +222,4 @@ CEIL_UNORM:
 ;;
 
 GLOBAL_LIBM_END(ceill)
+libm_alias_ldouble_other (ceil, ceil)
diff --git a/sysdeps/ia64/fpu/s_copysign.S b/sysdeps/ia64/fpu/s_copysign.S
index f41e816b57..db62a57306 100644
--- a/sysdeps/ia64/fpu/s_copysign.S
+++ b/sysdeps/ia64/fpu/s_copysign.S
@@ -34,4 +34,4 @@ strong_alias (__copysign, __libm_copysignl)
 
 weak_alias (__copysign, copysign)
 weak_alias (__copysignf, copysignf)
-weak_alias (__copysignl, copysignl)
+libm_alias_ldouble (__copysign, copysign)
diff --git a/sysdeps/ia64/fpu/s_cosl.S b/sysdeps/ia64/fpu/s_cosl.S
index 8d71e50c1a..ed4b571fab 100644
--- a/sysdeps/ia64/fpu/s_cosl.S
+++ b/sysdeps/ia64/fpu/s_cosl.S
@@ -774,6 +774,7 @@ GLOBAL_IEEE754_ENTRY(sinl)
 ;;
 
 GLOBAL_IEEE754_END(sinl)
+libm_alias_ldouble_other (__sin, sin)
 
 GLOBAL_IEEE754_ENTRY(cosl)
 { .mlx
@@ -2288,6 +2289,7 @@ SINCOSL_SPECIAL:
 }
 
 GLOBAL_IEEE754_END(cosl)
+libm_alias_ldouble_other (__cos, cos)
 
 // *******************************************************************
 // *******************************************************************
diff --git a/sysdeps/ia64/fpu/s_erfcl.S b/sysdeps/ia64/fpu/s_erfcl.S
index aaa0bb0240..ff39c7ee3f 100644
--- a/sysdeps/ia64/fpu/s_erfcl.S
+++ b/sysdeps/ia64/fpu/s_erfcl.S
@@ -2003,6 +2003,7 @@ ERFC_RESULT:
 };;
 
 GLOBAL_LIBM_END(erfcl)
+libm_alias_ldouble_other (erfc, erfc)
 
 // call via (p15) br.cond.spnt   __libm_error_region
 //          for  x > POS_ARG_ASYMP
diff --git a/sysdeps/ia64/fpu/s_erfl.S b/sysdeps/ia64/fpu/s_erfl.S
index 1fcb2127ea..8d58905c1c 100644
--- a/sysdeps/ia64/fpu/s_erfl.S
+++ b/sysdeps/ia64/fpu/s_erfl.S
@@ -1235,3 +1235,4 @@ _0_to_1o8:
 
 
 GLOBAL_LIBM_END(erfl)
+libm_alias_ldouble_other (erf, erf)
diff --git a/sysdeps/ia64/fpu/s_expm1l.S b/sysdeps/ia64/fpu/s_expm1l.S
index 63bf39a3c1..4c9dcebeb3 100644
--- a/sysdeps/ia64/fpu/s_expm1l.S
+++ b/sysdeps/ia64/fpu/s_expm1l.S
@@ -677,6 +677,7 @@ GLOBAL_IEEE754_ENTRY(expm1l)
 ;;
 
 GLOBAL_IEEE754_END(expm1l)
+libm_alias_ldouble_other (__expm1, expm1)
 
 
 GLOBAL_IEEE754_ENTRY(expl)
@@ -1377,6 +1378,7 @@ EXP_64_UNSUPPORTED:
 ;;
 
 GLOBAL_IEEE754_END(expl)
+libm_alias_ldouble_other (__exp, exp)
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
 .prologue
diff --git a/sysdeps/ia64/fpu/s_fabsl.S b/sysdeps/ia64/fpu/s_fabsl.S
index 3794d19a8a..ca7812c4dc 100644
--- a/sysdeps/ia64/fpu/s_fabsl.S
+++ b/sysdeps/ia64/fpu/s_fabsl.S
@@ -80,3 +80,4 @@ GLOBAL_IEEE754_ENTRY(fabsl)
 }
 
 GLOBAL_IEEE754_END(fabsl)
+libm_alias_ldouble_other (__fabs, fabs)
diff --git a/sysdeps/ia64/fpu/s_fdiml.S b/sysdeps/ia64/fpu/s_fdiml.S
index a5c7396bbd..c23da7ebb0 100644
--- a/sysdeps/ia64/fpu/s_fdiml.S
+++ b/sysdeps/ia64/fpu/s_fdiml.S
@@ -163,6 +163,7 @@ FDIM_OVERFLOW:
 ;;
 
 GLOBAL_LIBM_END(fdiml)
+libm_alias_ldouble_other (fdim, fdim)
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_floorl.S b/sysdeps/ia64/fpu/s_floorl.S
index 345c4f30dd..8d495c0149 100644
--- a/sysdeps/ia64/fpu/s_floorl.S
+++ b/sysdeps/ia64/fpu/s_floorl.S
@@ -213,3 +213,4 @@ FLOOR_UNORM:
 ;;
 
 GLOBAL_IEEE754_END(floorl)
+libm_alias_ldouble_other (__floor, floor)
diff --git a/sysdeps/ia64/fpu/s_fmal.S b/sysdeps/ia64/fpu/s_fmal.S
index 979fa9fb16..3547991955 100644
--- a/sysdeps/ia64/fpu/s_fmal.S
+++ b/sysdeps/ia64/fpu/s_fmal.S
@@ -69,3 +69,4 @@ GLOBAL_LIBM_ENTRY(fmal)
 ;;
 
 GLOBAL_LIBM_END(fmal)
+libm_alias_ldouble_other (fma, fma)
diff --git a/sysdeps/ia64/fpu/s_fmaxl.S b/sysdeps/ia64/fpu/s_fmaxl.S
index a575cf00eb..9d5a1a76a4 100644
--- a/sysdeps/ia64/fpu/s_fmaxl.S
+++ b/sysdeps/ia64/fpu/s_fmaxl.S
@@ -112,3 +112,4 @@ GLOBAL_LIBM_ENTRY(fmaxl)
 ;;
 
 GLOBAL_LIBM_END(fmaxl)
+libm_alias_ldouble_other (fmax, fmax)
diff --git a/sysdeps/ia64/fpu/s_frexpl.c b/sysdeps/ia64/fpu/s_frexpl.c
index f999e20361..7da92550b1 100644
--- a/sysdeps/ia64/fpu/s_frexpl.c
+++ b/sysdeps/ia64/fpu/s_frexpl.c
@@ -65,3 +65,4 @@ long double frexpl(long double x, int *y)
 #endif
 
 }
+libm_alias_ldouble_other (frexp, frexp)
diff --git a/sysdeps/ia64/fpu/s_ldexpl.c b/sysdeps/ia64/fpu/s_ldexpl.c
index aa6f2d7642..594e112562 100644
--- a/sysdeps/ia64/fpu/s_ldexpl.c
+++ b/sysdeps/ia64/fpu/s_ldexpl.c
@@ -59,3 +59,4 @@ long double ldexpl(long double x, int n)
 #endif
 
 }
+libm_alias_ldouble_other (ldexp, ldexp)
diff --git a/sysdeps/ia64/fpu/s_log1pl.S b/sysdeps/ia64/fpu/s_log1pl.S
index 3c8be02826..e96782bbac 100644
--- a/sysdeps/ia64/fpu/s_log1pl.S
+++ b/sysdeps/ia64/fpu/s_log1pl.S
@@ -1145,6 +1145,7 @@ LOG1P_LT_Minus_1:
 
 
 GLOBAL_IEEE754_END(log1pl)
+libm_alias_ldouble_other (__log1p, log1p)
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
 .prologue
diff --git a/sysdeps/ia64/fpu/s_logbl.S b/sysdeps/ia64/fpu/s_logbl.S
index e312c1b438..0100a3e9d7 100644
--- a/sysdeps/ia64/fpu/s_logbl.S
+++ b/sysdeps/ia64/fpu/s_logbl.S
@@ -218,6 +218,7 @@ LOGB_ZERO:
 ;;
 
 GLOBAL_LIBM_END(logbl)
+libm_alias_ldouble_other (logb, logb)
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_modfl.S b/sysdeps/ia64/fpu/s_modfl.S
index e95d520b4b..3139999536 100644
--- a/sysdeps/ia64/fpu/s_modfl.S
+++ b/sysdeps/ia64/fpu/s_modfl.S
@@ -271,3 +271,4 @@ MODF_DENORM:
 }
 
 GLOBAL_LIBM_END(modfl)
+libm_alias_ldouble_other (modf, modf)
diff --git a/sysdeps/ia64/fpu/s_nearbyintl.S b/sysdeps/ia64/fpu/s_nearbyintl.S
index 83adc07896..bf4e8a9afd 100644
--- a/sysdeps/ia64/fpu/s_nearbyintl.S
+++ b/sysdeps/ia64/fpu/s_nearbyintl.S
@@ -215,4 +215,4 @@ RINT_NOT_ROUND_NEAREST:
 ;;
 
 GLOBAL_LIBM_END(__nearbyintl)
-weak_alias (__nearbyintl, nearbyintl)
+libm_alias_ldouble (__nearbyint, nearbyint)
diff --git a/sysdeps/ia64/fpu/s_nextafterl.S b/sysdeps/ia64/fpu/s_nextafterl.S
index d771a97389..cf2feba043 100644
--- a/sysdeps/ia64/fpu/s_nextafterl.S
+++ b/sysdeps/ia64/fpu/s_nextafterl.S
@@ -436,6 +436,7 @@ NEXT_OVERFLOW:
 ;;
 
 GLOBAL_LIBM_END(nextafterl)
+libm_alias_ldouble_other (nextafter, nextafter)
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_rintl.S b/sysdeps/ia64/fpu/s_rintl.S
index b5402149ec..8b6c87162b 100644
--- a/sysdeps/ia64/fpu/s_rintl.S
+++ b/sysdeps/ia64/fpu/s_rintl.S
@@ -227,3 +227,4 @@ RINT_NOT_ROUND_NEAREST:
 ;;
 
 GLOBAL_IEEE754_END(rintl)
+libm_alias_ldouble_other (__rint, rint)
diff --git a/sysdeps/ia64/fpu/s_roundl.S b/sysdeps/ia64/fpu/s_roundl.S
index 355eaf5057..8ec511f69f 100644
--- a/sysdeps/ia64/fpu/s_roundl.S
+++ b/sysdeps/ia64/fpu/s_roundl.S
@@ -231,3 +231,4 @@ ROUND_UNORM:
 ;;
 
 GLOBAL_LIBM_END(roundl)
+libm_alias_ldouble_other (round, round)
diff --git a/sysdeps/ia64/fpu/s_scalbnl.c b/sysdeps/ia64/fpu/s_scalbnl.c
index 73ffb904b7..dca01cfb5f 100644
--- a/sysdeps/ia64/fpu/s_scalbnl.c
+++ b/sysdeps/ia64/fpu/s_scalbnl.c
@@ -60,4 +60,4 @@ long double __scalbnl(long double x, int n)
 
 }
 
-weak_alias (__scalbnl, scalbnl)
+libm_alias_ldouble (__scalbn, scalbn)
diff --git a/sysdeps/ia64/fpu/s_tanhl.S b/sysdeps/ia64/fpu/s_tanhl.S
index 2ebd1e780e..1810e4daea 100644
--- a/sysdeps/ia64/fpu/s_tanhl.S
+++ b/sysdeps/ia64/fpu/s_tanhl.S
@@ -1342,3 +1342,4 @@ _0_to_1o8:
 };;
 
 GLOBAL_LIBM_END(tanhl)
+libm_alias_ldouble_other (tanh, tanh)
diff --git a/sysdeps/ia64/fpu/s_tanl.S b/sysdeps/ia64/fpu/s_tanl.S
index b59936c4a1..ab893fc2b4 100644
--- a/sysdeps/ia64/fpu/s_tanl.S
+++ b/sysdeps/ia64/fpu/s_tanl.S
@@ -3091,6 +3091,7 @@ TANL_UNSUPPORTED:
 ;;
 
 GLOBAL_IEEE754_END(tanl)
+libm_alias_ldouble_other (__tan, tan)
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ia64/fpu/s_truncl.S b/sysdeps/ia64/fpu/s_truncl.S
index 1afa19ba2b..f73e7b46b9 100644
--- a/sysdeps/ia64/fpu/s_truncl.S
+++ b/sysdeps/ia64/fpu/s_truncl.S
@@ -164,3 +164,4 @@ TRUNC_UNORM:
 ;;
 
 GLOBAL_LIBM_END(truncl)
+libm_alias_ldouble_other (trunc, trunc)
diff --git a/sysdeps/ia64/fpu/w_lgammal_main.c b/sysdeps/ia64/fpu/w_lgammal_main.c
index 7879611d54..46e4d7f629 100644
--- a/sysdeps/ia64/fpu/w_lgammal_main.c
+++ b/sysdeps/ia64/fpu/w_lgammal_main.c
@@ -68,6 +68,7 @@ long double LGFUNC (lgammal) (long double x)
 compat_symbol (libm, __lgammal_compat, lgammal, LGAMMA_OLD_VER);
 # else
 versioned_symbol (libm, __ieee754_lgammal, lgammal, LGAMMA_NEW_VER);
+libm_alias_ldouble_other (__ieee754_lgamma, lgamma)
 # endif
 # if GAMMA_ALIAS
 strong_alias (LGFUNC (lgammal), __ieee754_gammal)
diff --git a/sysdeps/ia64/fpu/w_tgammal_compat.S b/sysdeps/ia64/fpu/w_tgammal_compat.S
index b10c5dc276..e71466d1d4 100644
--- a/sysdeps/ia64/fpu/w_tgammal_compat.S
+++ b/sysdeps/ia64/fpu/w_tgammal_compat.S
@@ -4426,6 +4426,7 @@ tgammal_underflow:
 
 
 GLOBAL_LIBM_END(tgammal)
+libm_alias_ldouble_other (tgamma, tgamma)