about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-09-22 20:24:12 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-09-22 20:24:12 +0000
commit2f49ce7d6263588c0b4c60a42e95ff954cf3c7d2 (patch)
treeb875bb19f2b6ce64ac55604392eb1d86b6341edc
parentc5c4a626098ec884b8527356abdf2a4bb7b6bf27 (diff)
downloadglibc-2f49ce7d6263588c0b4c60a42e95ff954cf3c7d2.tar.gz
glibc-2f49ce7d6263588c0b4c60a42e95ff954cf3c7d2.tar.xz
glibc-2f49ce7d6263588c0b4c60a42e95ff954cf3c7d2.zip
Use libm_alias_float in flt-32.
This patch makes flt-32 libm functions use libm_alias_float to define
public interfaces (in cases where _Float32 aliases of those interfaces
would be appropriate, so not for finitef / isinff / isnanf).

Tested for x86_64.  Also tested with build-many-glibcs.py that
installed stripped shared libraries are unchanged by the patch.

	* sysdeps/ieee754/flt-32/s_asinhf.c: Include <libm-alias-float.h>.
	(asinhf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_atanf.c: Include <libm-alias-float.h>.
	(atanf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_cbrtf.c: Include <libm-alias-float.h>.
	(cbrtf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_ceilf.c: Include <libm-alias-float.h>.
	(ceilf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_copysignf.c: Include
	<libm-alias-float.h>.
	(copysignf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_cosf.c: Include <libm-alias-float.h>.
	(cosf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_erff.c: Include <libm-alias-float.h>.
	(erff): Define using libm_alias_float.
	(erfcf): Likewise.
	* sysdeps/ieee754/flt-32/s_expm1f.c: Include <libm-alias-float.h>.
	(expm1f): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_fabsf.c: Include <libm-alias-float.h>.
	(fabsf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_floorf.c: Include <libm-alias-float.h>.
	(floorf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_frexpf.c: Include <libm-alias-float.h>.
	(frexpf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_fromfpf.c (fromfpf): Define using
	libm_alias_float.
	* sysdeps/ieee754/flt-32/s_fromfpf_main.c: Include
	<libm-alias-float.h>.
	* sysdeps/ieee754/flt-32/s_fromfpxf.c (fromfpxf): Define using
	libm_alias_float.
	* sysdeps/ieee754/flt-32/s_getpayloadf.c: Include
	<libm-alias-float.h>.
	(getpayloadf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_llrintf.c: Include
	<libm-alias-float.h>.
	(llrintf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_llroundf.c: Include
	<libm-alias-float.h>.
	(llroundf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_logbf.c: Include <libm-alias-float.h>.
	(logbf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_lrintf.c: Include <libm-alias-float.h>.
	(lrintf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_lroundf.c: Include <libm-alias-float.h>.
	(lroundf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_modff.c: Include <libm-alias-float.h>.
	(modff): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_nearbyintf.c: Include
	<libm-alias-float.h>.
	(nearbyintf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_nextafterf.c: Include
	<libm-alias-float.h>.
	(nextafterf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_nextupf.c: Include
	<libm-alias-float.h>.
	(nextupf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_remquof.c: Include
	<libm-alias-float.h>.
	(remquof): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_rintf.c: Include <libm-alias-float.h>.
	(rintf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_roundevenf.c: Include
	<libm-alias-float.h>.
	(roundevenf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_roundf.c: Include <libm-alias-float.h>.
	(roundf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_setpayloadf.c (setpayloadf): Define
	using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_setpayloadf_main.c: Include
	<libm-alias-float.h>.
	* sysdeps/ieee754/flt-32/s_setpayloadsigf.c (setpayloadsigf):
	Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_sincosf.c: Include
	<libm-alias-float.h>.
	(sincosf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_sinf.c: Include <libm-alias-float.h>.
	(sinf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_tanf.c: Include <libm-alias-float.h>.
	(tanf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_tanhf.c: Include <libm-alias-float.h>.
	(tanhf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_totalorderf.c: Include
	<libm-alias-float.h>.
	(totalorderf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_totalordermagf.c: Include
	<libm-alias-float.h>.
	(totalordermagf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_truncf.c: Include <libm-alias-float.h>.
	(truncf): Define using libm_alias_float.
	* sysdeps/ieee754/flt-32/s_ufromfpf.c (ufromfpf): Define using
	libm_alias_float.
	* sysdeps/ieee754/flt-32/s_ufromfpxf.c (ufromfpxf): Define using
	libm_alias_float.
-rw-r--r--ChangeLog96
-rw-r--r--sysdeps/ieee754/flt-32/s_asinhf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_atanf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_cbrtf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_ceilf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_copysignf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_cosf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_erff.c5
-rw-r--r--sysdeps/ieee754/flt-32/s_expm1f.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_fabsf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_floorf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_frexpf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_fromfpf.c2
-rw-r--r--sysdeps/ieee754/flt-32/s_fromfpf_main.c1
-rw-r--r--sysdeps/ieee754/flt-32/s_fromfpxf.c2
-rw-r--r--sysdeps/ieee754/flt-32/s_getpayloadf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_llrintf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_llroundf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_logbf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_lrintf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_lroundf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_modff.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_nearbyintf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_nextafterf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_nextupf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_remquof.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_rintf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_roundevenf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_roundf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_setpayloadf.c2
-rw-r--r--sysdeps/ieee754/flt-32/s_setpayloadf_main.c1
-rw-r--r--sysdeps/ieee754/flt-32/s_setpayloadsigf.c2
-rw-r--r--sysdeps/ieee754/flt-32/s_sincosf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_sinf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_tanf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_tanhf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_totalorderf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_totalordermagf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_truncf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_ufromfpf.c2
-rw-r--r--sysdeps/ieee754/flt-32/s_ufromfpxf.c2
41 files changed, 169 insertions, 39 deletions
diff --git a/ChangeLog b/ChangeLog
index d69bf1f51e..e986689ade 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,99 @@
+2017-09-22  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/ieee754/flt-32/s_asinhf.c: Include <libm-alias-float.h>.
+	(asinhf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_atanf.c: Include <libm-alias-float.h>.
+	(atanf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_cbrtf.c: Include <libm-alias-float.h>.
+	(cbrtf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_ceilf.c: Include <libm-alias-float.h>.
+	(ceilf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_copysignf.c: Include
+	<libm-alias-float.h>.
+	(copysignf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_cosf.c: Include <libm-alias-float.h>.
+	(cosf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_erff.c: Include <libm-alias-float.h>.
+	(erff): Define using libm_alias_float.
+	(erfcf): Likewise.
+	* sysdeps/ieee754/flt-32/s_expm1f.c: Include <libm-alias-float.h>.
+	(expm1f): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_fabsf.c: Include <libm-alias-float.h>.
+	(fabsf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_floorf.c: Include <libm-alias-float.h>.
+	(floorf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_frexpf.c: Include <libm-alias-float.h>.
+	(frexpf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_fromfpf.c (fromfpf): Define using
+	libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_fromfpf_main.c: Include
+	<libm-alias-float.h>.
+	* sysdeps/ieee754/flt-32/s_fromfpxf.c (fromfpxf): Define using
+	libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_getpayloadf.c: Include
+	<libm-alias-float.h>.
+	(getpayloadf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_llrintf.c: Include
+	<libm-alias-float.h>.
+	(llrintf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_llroundf.c: Include
+	<libm-alias-float.h>.
+	(llroundf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_logbf.c: Include <libm-alias-float.h>.
+	(logbf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_lrintf.c: Include <libm-alias-float.h>.
+	(lrintf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_lroundf.c: Include <libm-alias-float.h>.
+	(lroundf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_modff.c: Include <libm-alias-float.h>.
+	(modff): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_nearbyintf.c: Include
+	<libm-alias-float.h>.
+	(nearbyintf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_nextafterf.c: Include
+	<libm-alias-float.h>.
+	(nextafterf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_nextupf.c: Include
+	<libm-alias-float.h>.
+	(nextupf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_remquof.c: Include
+	<libm-alias-float.h>.
+	(remquof): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_rintf.c: Include <libm-alias-float.h>.
+	(rintf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_roundevenf.c: Include
+	<libm-alias-float.h>.
+	(roundevenf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_roundf.c: Include <libm-alias-float.h>.
+	(roundf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_setpayloadf.c (setpayloadf): Define
+	using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_setpayloadf_main.c: Include
+	<libm-alias-float.h>.
+	* sysdeps/ieee754/flt-32/s_setpayloadsigf.c (setpayloadsigf):
+	Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_sincosf.c: Include
+	<libm-alias-float.h>.
+	(sincosf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_sinf.c: Include <libm-alias-float.h>.
+	(sinf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_tanf.c: Include <libm-alias-float.h>.
+	(tanf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_tanhf.c: Include <libm-alias-float.h>.
+	(tanhf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_totalorderf.c: Include
+	<libm-alias-float.h>.
+	(totalorderf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_totalordermagf.c: Include
+	<libm-alias-float.h>.
+	(totalordermagf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_truncf.c: Include <libm-alias-float.h>.
+	(truncf): Define using libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_ufromfpf.c (ufromfpf): Define using
+	libm_alias_float.
+	* sysdeps/ieee754/flt-32/s_ufromfpxf.c (ufromfpxf): Define using
+	libm_alias_float.
+
 2017-09-22  Gabriel F. T. Gomes  <gabriel@inconstante.eti.br>
 
 	[BZ #22146]
diff --git a/sysdeps/ieee754/flt-32/s_asinhf.c b/sysdeps/ieee754/flt-32/s_asinhf.c
index da9cafb600..165a7548ca 100644
--- a/sysdeps/ieee754/flt-32/s_asinhf.c
+++ b/sysdeps/ieee754/flt-32/s_asinhf.c
@@ -16,6 +16,7 @@
 #include <float.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 static const float
 one =  1.0000000000e+00, /* 0x3F800000 */
@@ -47,4 +48,4 @@ __asinhf(float x)
 	}
 	return __copysignf(w, x);
 }
-weak_alias (__asinhf, asinhf)
+libm_alias_float (__asinh, asinh)
diff --git a/sysdeps/ieee754/flt-32/s_atanf.c b/sysdeps/ieee754/flt-32/s_atanf.c
index e322a1d41f..03a4cfd6a5 100644
--- a/sysdeps/ieee754/flt-32/s_atanf.c
+++ b/sysdeps/ieee754/flt-32/s_atanf.c
@@ -20,6 +20,7 @@ static char rcsid[] = "$NetBSD: s_atanf.c,v 1.4 1995/05/10 20:46:47 jtc Exp $";
 #include <float.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 static const float atanhi[] = {
   4.6364760399e-01, /* atan(0.5)hi 0x3eed6338 */
@@ -98,4 +99,4 @@ float __atanf(float x)
 	    return (hx<0)? -z:z;
 	}
 }
-weak_alias (__atanf, atanf)
+libm_alias_float (__atan, atan)
diff --git a/sysdeps/ieee754/flt-32/s_cbrtf.c b/sysdeps/ieee754/flt-32/s_cbrtf.c
index 1ac294c189..a6f368770a 100644
--- a/sysdeps/ieee754/flt-32/s_cbrtf.c
+++ b/sysdeps/ieee754/flt-32/s_cbrtf.c
@@ -20,6 +20,7 @@
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 
 #define CBRT2 1.2599210498948731648		/* 2^(1/3) */
@@ -60,4 +61,4 @@ __cbrtf (float x)
 
   return __ldexpf (x > 0.0 ? ym : -ym, xe / 3);
 }
-weak_alias (__cbrtf, cbrtf)
+libm_alias_float (__cbrt, cbrt)
diff --git a/sysdeps/ieee754/flt-32/s_ceilf.c b/sysdeps/ieee754/flt-32/s_ceilf.c
index 9676dc6645..f289ec2341 100644
--- a/sysdeps/ieee754/flt-32/s_ceilf.c
+++ b/sysdeps/ieee754/flt-32/s_ceilf.c
@@ -15,6 +15,7 @@
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 
 float
@@ -44,5 +45,5 @@ __ceilf(float x)
 	return x;
 }
 #ifndef __ceilf
-weak_alias (__ceilf, ceilf)
+libm_alias_float (__ceil, ceil)
 #endif
diff --git a/sysdeps/ieee754/flt-32/s_copysignf.c b/sysdeps/ieee754/flt-32/s_copysignf.c
index 9b88816866..3c4ac7ce68 100644
--- a/sysdeps/ieee754/flt-32/s_copysignf.c
+++ b/sysdeps/ieee754/flt-32/s_copysignf.c
@@ -25,6 +25,7 @@ static char rcsid[] = "$NetBSD: s_copysignf.c,v 1.4 1995/05/10 20:46:59 jtc Exp
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 float __copysignf(float x, float y)
 {
@@ -34,4 +35,4 @@ float __copysignf(float x, float y)
 	SET_FLOAT_WORD(x,(ix&0x7fffffff)|(iy&0x80000000));
         return x;
 }
-weak_alias (__copysignf, copysignf)
+libm_alias_float (__copysign, copysign)
diff --git a/sysdeps/ieee754/flt-32/s_cosf.c b/sysdeps/ieee754/flt-32/s_cosf.c
index 0affd406bb..5ed0bcaba3 100644
--- a/sysdeps/ieee754/flt-32/s_cosf.c
+++ b/sysdeps/ieee754/flt-32/s_cosf.c
@@ -20,6 +20,7 @@ static char rcsid[] = "$NetBSD: s_cosf.c,v 1.4 1995/05/10 20:47:03 jtc Exp $";
 #include <errno.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 #ifndef COSF
 # define COSF_FUNC __cosf
@@ -59,5 +60,5 @@ float COSF_FUNC(float x)
 }
 
 #ifndef COSF
-weak_alias (__cosf, cosf)
+libm_alias_float (__cos, cos)
 #endif
diff --git a/sysdeps/ieee754/flt-32/s_erff.c b/sysdeps/ieee754/flt-32/s_erff.c
index 07760c343b..6eacf0f5fc 100644
--- a/sysdeps/ieee754/flt-32/s_erff.c
+++ b/sysdeps/ieee754/flt-32/s_erff.c
@@ -21,6 +21,7 @@ static char rcsid[] = "$NetBSD: s_erff.c,v 1.4 1995/05/10 20:47:07 jtc Exp $";
 #include <float.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 #include <fix-int-fp-convert-zero.h>
 
 static const float
@@ -152,7 +153,7 @@ float __erff(float x)
 	r  =  __ieee754_expf(-z*z-(float)0.5625)*__ieee754_expf((z-x)*(z+x)+R/S);
 	if(hx>=0) return one-r/x; else return  r/x-one;
 }
-weak_alias (__erff, erff)
+libm_alias_float (__erf, erf)
 
 float __erfcf(float x)
 {
@@ -227,4 +228,4 @@ float __erfcf(float x)
 		return two-tiny;
 	}
 }
-weak_alias (__erfcf, erfcf)
+libm_alias_float (__erfc, erfc)
diff --git a/sysdeps/ieee754/flt-32/s_expm1f.c b/sysdeps/ieee754/flt-32/s_expm1f.c
index 00ca789344..0358970778 100644
--- a/sysdeps/ieee754/flt-32/s_expm1f.c
+++ b/sysdeps/ieee754/flt-32/s_expm1f.c
@@ -17,6 +17,7 @@
 #include <float.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 static const float huge = 1.0e+30;
 static const float tiny = 1.0e-30;
@@ -127,4 +128,4 @@ __expm1f(float x)
 	}
 	return y;
 }
-weak_alias (__expm1f, expm1f)
+libm_alias_float (__expm1, expm1)
diff --git a/sysdeps/ieee754/flt-32/s_fabsf.c b/sysdeps/ieee754/flt-32/s_fabsf.c
index 297abe64bd..d3f6eb830b 100644
--- a/sysdeps/ieee754/flt-32/s_fabsf.c
+++ b/sysdeps/ieee754/flt-32/s_fabsf.c
@@ -22,9 +22,10 @@ static char rcsid[] = "$NetBSD: s_fabsf.c,v 1.4 1995/05/10 20:47:15 jtc Exp $";
  */
 
 #include <math.h>
+#include <libm-alias-float.h>
 
 float __fabsf(float x)
 {
   return __builtin_fabsf (x);
 }
-weak_alias (__fabsf, fabsf)
+libm_alias_float (__fabs, fabs)
diff --git a/sysdeps/ieee754/flt-32/s_floorf.c b/sysdeps/ieee754/flt-32/s_floorf.c
index 43e284a158..12aed343a0 100644
--- a/sysdeps/ieee754/flt-32/s_floorf.c
+++ b/sysdeps/ieee754/flt-32/s_floorf.c
@@ -22,6 +22,7 @@
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 float
 __floorf(float x)
@@ -50,5 +51,5 @@ __floorf(float x)
 	return x;
 }
 #ifndef __floorf
-weak_alias (__floorf, floorf)
+libm_alias_float (__floor, floor)
 #endif
diff --git a/sysdeps/ieee754/flt-32/s_frexpf.c b/sysdeps/ieee754/flt-32/s_frexpf.c
index 005367cf58..b7403bf0d8 100644
--- a/sysdeps/ieee754/flt-32/s_frexpf.c
+++ b/sysdeps/ieee754/flt-32/s_frexpf.c
@@ -19,6 +19,7 @@ static char rcsid[] = "$NetBSD: s_frexpf.c,v 1.5 1995/05/10 20:47:26 jtc Exp $";
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 static const float
 two25 =  3.3554432000e+07; /* 0x4c000000 */
@@ -41,4 +42,4 @@ float __frexpf(float x, int *eptr)
 	SET_FLOAT_WORD(x,hx);
 	return x;
 }
-weak_alias (__frexpf, frexpf)
+libm_alias_float (__frexp, frexp)
diff --git a/sysdeps/ieee754/flt-32/s_fromfpf.c b/sysdeps/ieee754/flt-32/s_fromfpf.c
index 66489bcf93..d0c83b8f5d 100644
--- a/sysdeps/ieee754/flt-32/s_fromfpf.c
+++ b/sysdeps/ieee754/flt-32/s_fromfpf.c
@@ -2,4 +2,4 @@
 #define INEXACT 0
 #define FUNC __fromfpf
 #include <s_fromfpf_main.c>
-weak_alias (__fromfpf, fromfpf)
+libm_alias_float (__fromfp, fromfp)
diff --git a/sysdeps/ieee754/flt-32/s_fromfpf_main.c b/sysdeps/ieee754/flt-32/s_fromfpf_main.c
index 3a4ad80e55..d9909eab93 100644
--- a/sysdeps/ieee754/flt-32/s_fromfpf_main.c
+++ b/sysdeps/ieee754/flt-32/s_fromfpf_main.c
@@ -20,6 +20,7 @@
 #include <fenv.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 #include <stdbool.h>
 #include <stdint.h>
 
diff --git a/sysdeps/ieee754/flt-32/s_fromfpxf.c b/sysdeps/ieee754/flt-32/s_fromfpxf.c
index 61f3e2f461..01d9247c31 100644
--- a/sysdeps/ieee754/flt-32/s_fromfpxf.c
+++ b/sysdeps/ieee754/flt-32/s_fromfpxf.c
@@ -2,4 +2,4 @@
 #define INEXACT 1
 #define FUNC __fromfpxf
 #include <s_fromfpf_main.c>
-weak_alias (__fromfpxf, fromfpxf)
+libm_alias_float (__fromfpx, fromfpx)
diff --git a/sysdeps/ieee754/flt-32/s_getpayloadf.c b/sysdeps/ieee754/flt-32/s_getpayloadf.c
index 1958a3ea71..b4fa3fab98 100644
--- a/sysdeps/ieee754/flt-32/s_getpayloadf.c
+++ b/sysdeps/ieee754/flt-32/s_getpayloadf.c
@@ -19,6 +19,7 @@
 #include <fix-int-fp-convert-zero.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 #include <stdint.h>
 
 float
@@ -31,4 +32,4 @@ __getpayloadf (const float *x)
     return 0.0f;
   return (float) ix;
 }
-weak_alias (__getpayloadf, getpayloadf)
+libm_alias_float (__getpayload, getpayload)
diff --git a/sysdeps/ieee754/flt-32/s_llrintf.c b/sysdeps/ieee754/flt-32/s_llrintf.c
index fd46653ae6..e83e328a7c 100644
--- a/sysdeps/ieee754/flt-32/s_llrintf.c
+++ b/sysdeps/ieee754/flt-32/s_llrintf.c
@@ -23,6 +23,7 @@
 #include <math.h>
 
 #include <math_private.h>
+#include <libm-alias-float.h>
 #include <fix-fp-int-convert-overflow.h>
 
 static const float two23[2] =
@@ -83,4 +84,4 @@ __llrintf (float x)
   return sx ? -result : result;
 }
 
-weak_alias (__llrintf, llrintf)
+libm_alias_float (__llrint, llrint)
diff --git a/sysdeps/ieee754/flt-32/s_llroundf.c b/sysdeps/ieee754/flt-32/s_llroundf.c
index c620186183..8f86eb466c 100644
--- a/sysdeps/ieee754/flt-32/s_llroundf.c
+++ b/sysdeps/ieee754/flt-32/s_llroundf.c
@@ -22,6 +22,7 @@
 #include <math.h>
 
 #include <math_private.h>
+#include <libm-alias-float.h>
 #include <fix-fp-int-convert-overflow.h>
 
 
@@ -70,4 +71,4 @@ __llroundf (float x)
   return sign * result;
 }
 
-weak_alias (__llroundf, llroundf)
+libm_alias_float (__llround, llround)
diff --git a/sysdeps/ieee754/flt-32/s_logbf.c b/sysdeps/ieee754/flt-32/s_logbf.c
index 9ae20e332a..e0d4f3fbab 100644
--- a/sysdeps/ieee754/flt-32/s_logbf.c
+++ b/sysdeps/ieee754/flt-32/s_logbf.c
@@ -15,6 +15,7 @@
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 #include <fix-int-fp-convert-zero.h>
 
 float
@@ -38,4 +39,4 @@ __logbf (float x)
     return 0.0f;
   return (float) (rix - 127);
 }
-weak_alias (__logbf, logbf)
+libm_alias_float (__logb, logb)
diff --git a/sysdeps/ieee754/flt-32/s_lrintf.c b/sysdeps/ieee754/flt-32/s_lrintf.c
index a7f186a690..be26563855 100644
--- a/sysdeps/ieee754/flt-32/s_lrintf.c
+++ b/sysdeps/ieee754/flt-32/s_lrintf.c
@@ -23,6 +23,7 @@
 #include <math.h>
 
 #include <math_private.h>
+#include <libm-alias-float.h>
 #include <fix-fp-int-convert-overflow.h>
 
 static const float two23[2] =
@@ -83,4 +84,4 @@ __lrintf (float x)
   return sx ? -result : result;
 }
 
-weak_alias (__lrintf, lrintf)
+libm_alias_float (__lrint, lrint)
diff --git a/sysdeps/ieee754/flt-32/s_lroundf.c b/sysdeps/ieee754/flt-32/s_lroundf.c
index d18fcbe0b5..372f693712 100644
--- a/sysdeps/ieee754/flt-32/s_lroundf.c
+++ b/sysdeps/ieee754/flt-32/s_lroundf.c
@@ -22,6 +22,7 @@
 #include <math.h>
 
 #include <math_private.h>
+#include <libm-alias-float.h>
 #include <fix-fp-int-convert-overflow.h>
 
 
@@ -70,4 +71,4 @@ __lroundf (float x)
   return sign * result;
 }
 
-weak_alias (__lroundf, lroundf)
+libm_alias_float (__lround, lround)
diff --git a/sysdeps/ieee754/flt-32/s_modff.c b/sysdeps/ieee754/flt-32/s_modff.c
index 9bbc8e61ef..45a94594fe 100644
--- a/sysdeps/ieee754/flt-32/s_modff.c
+++ b/sysdeps/ieee754/flt-32/s_modff.c
@@ -15,6 +15,7 @@
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 static const float one = 1.0;
 
@@ -51,4 +52,4 @@ __modff(float x, float *iptr)
 	    return x;
 	}
 }
-weak_alias (__modff, modff)
+libm_alias_float (__modf, modf)
diff --git a/sysdeps/ieee754/flt-32/s_nearbyintf.c b/sysdeps/ieee754/flt-32/s_nearbyintf.c
index 5aebefafcf..afacdef67c 100644
--- a/sysdeps/ieee754/flt-32/s_nearbyintf.c
+++ b/sysdeps/ieee754/flt-32/s_nearbyintf.c
@@ -18,6 +18,7 @@
 #include <fenv.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 static const float
 TWO23[2]={
@@ -56,4 +57,4 @@ __nearbyintf(float x)
 	libc_fesetenvf (&env);
 	return t;
 }
-weak_alias (__nearbyintf, nearbyintf)
+libm_alias_float (__nearbyint, nearbyint)
diff --git a/sysdeps/ieee754/flt-32/s_nextafterf.c b/sysdeps/ieee754/flt-32/s_nextafterf.c
index 625d54b768..a7a5703245 100644
--- a/sysdeps/ieee754/flt-32/s_nextafterf.c
+++ b/sysdeps/ieee754/flt-32/s_nextafterf.c
@@ -20,6 +20,7 @@ static char rcsid[] = "$NetBSD: s_nextafterf.c,v 1.4 1995/05/10 20:48:01 jtc Exp
 #include <errno.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 #include <float.h>
 
 float __nextafterf(float x, float y)
@@ -70,4 +71,4 @@ float __nextafterf(float x, float y)
 	SET_FLOAT_WORD(x,hx);
 	return x;
 }
-weak_alias (__nextafterf, nextafterf)
+libm_alias_float (__nextafter, nextafter)
diff --git a/sysdeps/ieee754/flt-32/s_nextupf.c b/sysdeps/ieee754/flt-32/s_nextupf.c
index bbabdf1bd6..0e000b0908 100644
--- a/sysdeps/ieee754/flt-32/s_nextupf.c
+++ b/sysdeps/ieee754/flt-32/s_nextupf.c
@@ -18,6 +18,7 @@
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 /* Return the least floating-point number greater than X.  */
 float
@@ -43,4 +44,4 @@ __nextupf (float x)
   return x;
 }
 
-weak_alias (__nextupf, nextupf)
+libm_alias_float (__nextup, nextup)
diff --git a/sysdeps/ieee754/flt-32/s_remquof.c b/sysdeps/ieee754/flt-32/s_remquof.c
index ef81133f23..1b7c574618 100644
--- a/sysdeps/ieee754/flt-32/s_remquof.c
+++ b/sysdeps/ieee754/flt-32/s_remquof.c
@@ -23,6 +23,7 @@
 
 
 static const float zero = 0.0;
+#include <libm-alias-float.h>
 
 
 float
@@ -107,4 +108,4 @@ __remquof (float x, float y, int *quo)
     x = -x;
   return x;
 }
-weak_alias (__remquof, remquof)
+libm_alias_float (__remquo, remquo)
diff --git a/sysdeps/ieee754/flt-32/s_rintf.c b/sysdeps/ieee754/flt-32/s_rintf.c
index 8a907488f7..db6f260a0b 100644
--- a/sysdeps/ieee754/flt-32/s_rintf.c
+++ b/sysdeps/ieee754/flt-32/s_rintf.c
@@ -15,6 +15,7 @@
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 static const float
 TWO23[2]={
@@ -46,5 +47,5 @@ __rintf(float x)
 	return w-TWO23[sx];
 }
 #ifndef __rintf
-weak_alias (__rintf, rintf)
+libm_alias_float (__rint, rint)
 #endif
diff --git a/sysdeps/ieee754/flt-32/s_roundevenf.c b/sysdeps/ieee754/flt-32/s_roundevenf.c
index d1661569ec..27e719f1e4 100644
--- a/sysdeps/ieee754/flt-32/s_roundevenf.c
+++ b/sysdeps/ieee754/flt-32/s_roundevenf.c
@@ -19,6 +19,7 @@
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 #include <stdint.h>
 
 #define BIAS 0x7f
@@ -66,4 +67,4 @@ __roundevenf (float x)
   SET_FLOAT_WORD (x, ix);
   return x;
 }
-weak_alias (__roundevenf, roundevenf)
+libm_alias_float (__roundeven, roundeven)
diff --git a/sysdeps/ieee754/flt-32/s_roundf.c b/sysdeps/ieee754/flt-32/s_roundf.c
index 4f60621643..e242f12725 100644
--- a/sysdeps/ieee754/flt-32/s_roundf.c
+++ b/sysdeps/ieee754/flt-32/s_roundf.c
@@ -20,6 +20,7 @@
 #include <math.h>
 
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 
 float
@@ -60,4 +61,4 @@ __roundf (float x)
   SET_FLOAT_WORD (x, i0);
   return x;
 }
-weak_alias (__roundf, roundf)
+libm_alias_float (__round, round)
diff --git a/sysdeps/ieee754/flt-32/s_setpayloadf.c b/sysdeps/ieee754/flt-32/s_setpayloadf.c
index 818cd1baff..6faf26bdcc 100644
--- a/sysdeps/ieee754/flt-32/s_setpayloadf.c
+++ b/sysdeps/ieee754/flt-32/s_setpayloadf.c
@@ -1,4 +1,4 @@
 #define SIG 0
 #define FUNC __setpayloadf
 #include <s_setpayloadf_main.c>
-weak_alias (__setpayloadf, setpayloadf)
+libm_alias_float (__setpayload, setpayload)
diff --git a/sysdeps/ieee754/flt-32/s_setpayloadf_main.c b/sysdeps/ieee754/flt-32/s_setpayloadf_main.c
index 8b046d6547..4f9b3b6eeb 100644
--- a/sysdeps/ieee754/flt-32/s_setpayloadf_main.c
+++ b/sysdeps/ieee754/flt-32/s_setpayloadf_main.c
@@ -18,6 +18,7 @@
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 #include <nan-high-order-bit.h>
 #include <stdint.h>
 
diff --git a/sysdeps/ieee754/flt-32/s_setpayloadsigf.c b/sysdeps/ieee754/flt-32/s_setpayloadsigf.c
index a622f2db66..f08c877dc6 100644
--- a/sysdeps/ieee754/flt-32/s_setpayloadsigf.c
+++ b/sysdeps/ieee754/flt-32/s_setpayloadsigf.c
@@ -1,4 +1,4 @@
 #define SIG 1
 #define FUNC __setpayloadsigf
 #include <s_setpayloadf_main.c>
-weak_alias (__setpayloadsigf, setpayloadsigf)
+libm_alias_float (__setpayloadsig, setpayloadsig)
diff --git a/sysdeps/ieee754/flt-32/s_sincosf.c b/sysdeps/ieee754/flt-32/s_sincosf.c
index 3ab92ee0ba..4946a6eb54 100644
--- a/sysdeps/ieee754/flt-32/s_sincosf.c
+++ b/sysdeps/ieee754/flt-32/s_sincosf.c
@@ -21,6 +21,7 @@
 #include <math.h>
 
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 #ifndef SINCOSF
 # define SINCOSF_FUNC __sincosf
@@ -80,5 +81,5 @@ SINCOSF_FUNC (float x, float *sinx, float *cosx)
 }
 
 #ifndef SINCOSF
-weak_alias (__sincosf, sincosf)
+libm_alias_float (__sincos, sincos)
 #endif
diff --git a/sysdeps/ieee754/flt-32/s_sinf.c b/sysdeps/ieee754/flt-32/s_sinf.c
index 916e345571..3ec98f811d 100644
--- a/sysdeps/ieee754/flt-32/s_sinf.c
+++ b/sysdeps/ieee754/flt-32/s_sinf.c
@@ -20,6 +20,7 @@ static char rcsid[] = "$NetBSD: s_sinf.c,v 1.4 1995/05/10 20:48:16 jtc Exp $";
 #include <errno.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 #ifndef SINF
 # define SINF_FUNC __sinf
@@ -59,5 +60,5 @@ float SINF_FUNC(float x)
 }
 
 #ifndef SINF
-weak_alias (__sinf, sinf)
+libm_alias_float (__sin, sin)
 #endif
diff --git a/sysdeps/ieee754/flt-32/s_tanf.c b/sysdeps/ieee754/flt-32/s_tanf.c
index 685df8fa35..ba3af54913 100644
--- a/sysdeps/ieee754/flt-32/s_tanf.c
+++ b/sysdeps/ieee754/flt-32/s_tanf.c
@@ -20,6 +20,7 @@ static char rcsid[] = "$NetBSD: s_tanf.c,v 1.4 1995/05/10 20:48:20 jtc Exp $";
 #include <errno.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 float __tanf(float x)
 {
@@ -46,4 +47,4 @@ float __tanf(float x)
 							      -1 -- n odd */
 	}
 }
-weak_alias (__tanf, tanf)
+libm_alias_float (__tan, tan)
diff --git a/sysdeps/ieee754/flt-32/s_tanhf.c b/sysdeps/ieee754/flt-32/s_tanhf.c
index f70702b29c..c2b96cfa2b 100644
--- a/sysdeps/ieee754/flt-32/s_tanhf.c
+++ b/sysdeps/ieee754/flt-32/s_tanhf.c
@@ -20,6 +20,7 @@ static char rcsid[] = "$NetBSD: s_tanhf.c,v 1.4 1995/05/10 20:48:24 jtc Exp $";
 #include <float.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 static const float one=1.0, two=2.0, tiny = 1.0e-30;
 
@@ -59,4 +60,4 @@ float __tanhf(float x)
 	}
 	return (jx>=0)? z: -z;
 }
-weak_alias (__tanhf, tanhf)
+libm_alias_float (__tanh, tanh)
diff --git a/sysdeps/ieee754/flt-32/s_totalorderf.c b/sysdeps/ieee754/flt-32/s_totalorderf.c
index 5d65420c66..adae207ed8 100644
--- a/sysdeps/ieee754/flt-32/s_totalorderf.c
+++ b/sysdeps/ieee754/flt-32/s_totalorderf.c
@@ -18,6 +18,7 @@
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 #include <nan-high-order-bit.h>
 #include <stdint.h>
 
@@ -44,4 +45,4 @@ __totalorderf (float x, float y)
   iy ^= iy_sign >> 1;
   return ix <= iy;
 }
-weak_alias (__totalorderf, totalorderf)
+libm_alias_float (__totalorder, totalorder)
diff --git a/sysdeps/ieee754/flt-32/s_totalordermagf.c b/sysdeps/ieee754/flt-32/s_totalordermagf.c
index 9aaa6c4231..c392fe2023 100644
--- a/sysdeps/ieee754/flt-32/s_totalordermagf.c
+++ b/sysdeps/ieee754/flt-32/s_totalordermagf.c
@@ -18,6 +18,7 @@
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-float.h>
 #include <nan-high-order-bit.h>
 #include <stdint.h>
 
@@ -42,4 +43,4 @@ __totalordermagf (float x, float y)
 #endif
   return ix <= iy;
 }
-weak_alias (__totalordermagf, totalordermagf)
+libm_alias_float (__totalordermag, totalordermag)
diff --git a/sysdeps/ieee754/flt-32/s_truncf.c b/sysdeps/ieee754/flt-32/s_truncf.c
index 2edb03c16f..6dffb8fe71 100644
--- a/sysdeps/ieee754/flt-32/s_truncf.c
+++ b/sysdeps/ieee754/flt-32/s_truncf.c
@@ -20,6 +20,7 @@
 #include <math.h>
 
 #include <math_private.h>
+#include <libm-alias-float.h>
 
 
 float
@@ -49,5 +50,5 @@ __truncf (float x)
   return x;
 }
 #ifndef __truncf
-weak_alias (__truncf, truncf)
+libm_alias_float (__trunc, trunc)
 #endif
diff --git a/sysdeps/ieee754/flt-32/s_ufromfpf.c b/sysdeps/ieee754/flt-32/s_ufromfpf.c
index 3aafd589d9..0d2b4493a8 100644
--- a/sysdeps/ieee754/flt-32/s_ufromfpf.c
+++ b/sysdeps/ieee754/flt-32/s_ufromfpf.c
@@ -2,4 +2,4 @@
 #define INEXACT 0
 #define FUNC __ufromfpf
 #include <s_fromfpf_main.c>
-weak_alias (__ufromfpf, ufromfpf)
+libm_alias_float (__ufromfp, ufromfp)
diff --git a/sysdeps/ieee754/flt-32/s_ufromfpxf.c b/sysdeps/ieee754/flt-32/s_ufromfpxf.c
index 8bcdad42d9..81f56daf9d 100644
--- a/sysdeps/ieee754/flt-32/s_ufromfpxf.c
+++ b/sysdeps/ieee754/flt-32/s_ufromfpxf.c
@@ -2,4 +2,4 @@
 #define INEXACT 1
 #define FUNC __ufromfpxf
 #include <s_fromfpf_main.c>
-weak_alias (__ufromfpxf, ufromfpxf)
+libm_alias_float (__ufromfpx, ufromfpx)