diff --git a/sysdeps/i386/fpu/s_asinhf.S b/sysdeps/i386/fpu/s_asinhf.S
index 12bcfef..88b6174 100644
--- a/sysdeps/i386/fpu/s_asinhf.S
+++ b/sysdeps/i386/fpu/s_asinhf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <machine/asm.h>
+#include <libm-alias-float.h>
 
 	.section .rodata
 
@@ -136,4 +137,4 @@ ENTRY(__asinhf)
 	fchs
 4:	ret
 END(__asinhf)
-weak_alias (__asinhf, asinhf)
+libm_alias_float (__asinh, asinh)
diff --git a/sysdeps/i386/fpu/s_atanf.S b/sysdeps/i386/fpu/s_atanf.S
index 0589c11..15ecd34 100644
--- a/sysdeps/i386/fpu/s_atanf.S
+++ b/sysdeps/i386/fpu/s_atanf.S
@@ -5,6 +5,7 @@
 
 #include <machine/asm.h>
 #include <i386-math-asm.h>
+#include <libm-alias-float.h>
 
 RCSID("$NetBSD: s_atanf.S,v 1.3 1995/05/08 23:51:33 jtc Exp $")
 
@@ -27,4 +28,4 @@ ENTRY(__atanf)
 	FLT_CHECK_FORCE_UFLOW
 	ret
 END (__atanf)
-weak_alias (__atanf, atanf)
+libm_alias_float (__atan, atan)
diff --git a/sysdeps/i386/fpu/s_cbrtf.S b/sysdeps/i386/fpu/s_cbrtf.S
index 645d243..d4a6375 100644
--- a/sysdeps/i386/fpu/s_cbrtf.S
+++ b/sysdeps/i386/fpu/s_cbrtf.S
@@ -19,6 +19,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <machine/asm.h>
+#include <libm-alias-float.h>
 
         .section .rodata
 
@@ -174,4 +175,4 @@ ENTRY(__cbrtf)
 1:	flds	4(%esp)
 	ret
 END(__cbrtf)
-weak_alias (__cbrtf, cbrtf)
+libm_alias_float (__cbrt, cbrt)
diff --git a/sysdeps/i386/fpu/s_ceilf.S b/sysdeps/i386/fpu/s_ceilf.S
index d345c09..2a6e3db 100644
--- a/sysdeps/i386/fpu/s_ceilf.S
+++ b/sysdeps/i386/fpu/s_ceilf.S
@@ -4,6 +4,7 @@
  */
 
 #include <machine/asm.h>
+#include <libm-alias-float.h>
 
 RCSID("$NetBSD: s_ceilf.S,v 1.3 1995/05/08 23:52:44 jtc Exp $")
 
@@ -31,4 +32,4 @@ ENTRY(__ceilf)
 	cfi_adjust_cfa_offset (-32)
 	ret
 END (__ceilf)
-weak_alias (__ceilf, ceilf)
+libm_alias_float (__ceil, ceil)
diff --git a/sysdeps/i386/fpu/s_copysignf.S b/sysdeps/i386/fpu/s_copysignf.S
index 57b1a6f..a05b749 100644
--- a/sysdeps/i386/fpu/s_copysignf.S
+++ b/sysdeps/i386/fpu/s_copysignf.S
@@ -4,6 +4,7 @@
  */
 
 #include <machine/asm.h>
+#include <libm-alias-float.h>
 
 RCSID("$NetBSD: s_copysignf.S,v 1.3 1995/05/08 23:53:25 jtc Exp $")
 
@@ -17,4 +18,4 @@ ENTRY(__copysignf)
 	flds	4(%esp)
 	ret
 END (__copysignf)
-weak_alias (__copysignf, copysignf)
+libm_alias_float (__copysign, copysign)
diff --git a/sysdeps/i386/fpu/s_expm1f.S b/sysdeps/i386/fpu/s_expm1f.S
index 4f0b2e7..dcbe3e6 100644
--- a/sysdeps/i386/fpu/s_expm1f.S
+++ b/sysdeps/i386/fpu/s_expm1f.S
@@ -24,6 +24,7 @@
 #include <sysdep.h>
 #include <machine/asm.h>
 #include <i386-math-asm.h>
+#include <libm-alias-float.h>
 
 	.section .rodata
 
@@ -110,4 +111,4 @@ ENTRY(__expm1f)
 	fldl	MO(minus1)	// Set result to -1.0.
 3:	ret
 END(__expm1f)
-weak_alias (__expm1f, expm1f)
+libm_alias_float (__expm1, expm1)
diff --git a/sysdeps/i386/fpu/s_fabsf.S b/sysdeps/i386/fpu/s_fabsf.S
index c0407a8..3185946 100644
--- a/sysdeps/i386/fpu/s_fabsf.S
+++ b/sysdeps/i386/fpu/s_fabsf.S
@@ -1,4 +1,5 @@
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	.text
 ENTRY(__fabsf)
@@ -6,4 +7,4 @@ ENTRY(__fabsf)
 	fabs
 	ret
 END(__fabsf)
-weak_alias (__fabsf, fabsf)
+libm_alias_float (__fabs, fabs)
diff --git a/sysdeps/i386/fpu/s_floorf.S b/sysdeps/i386/fpu/s_floorf.S
index 84b6f7e..656eeb6 100644
--- a/sysdeps/i386/fpu/s_floorf.S
+++ b/sysdeps/i386/fpu/s_floorf.S
@@ -4,6 +4,7 @@
  */
 
 #include <machine/asm.h>
+#include <libm-alias-float.h>
 
 RCSID("$NetBSD: s_floorf.S,v 1.3 1995/05/09 00:04:32 jtc Exp $")
 
@@ -31,4 +32,4 @@ ENTRY(__floorf)
 	cfi_adjust_cfa_offset (-32)
 	ret
 END (__floorf)
-weak_alias (__floorf, floorf)
+libm_alias_float (__floor, floor)
diff --git a/sysdeps/i386/fpu/s_fmaxf.S b/sysdeps/i386/fpu/s_fmaxf.S
index b7a00ce..6d0d5b7 100644
--- a/sysdeps/i386/fpu/s_fmaxf.S
+++ b/sysdeps/i386/fpu/s_fmaxf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	.text
 ENTRY(__fmaxf)
@@ -40,4 +41,4 @@ ENTRY(__fmaxf)
 
 	ret
 END(__fmaxf)
-weak_alias (__fmaxf, fmaxf)
+libm_alias_float (__fmax, fmax)
diff --git a/sysdeps/i386/fpu/s_fminf.S b/sysdeps/i386/fpu/s_fminf.S
index fba4a41..925735d 100644
--- a/sysdeps/i386/fpu/s_fminf.S
+++ b/sysdeps/i386/fpu/s_fminf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	.text
 ENTRY(__fminf)
@@ -40,4 +41,4 @@ ENTRY(__fminf)
 
 	ret
 END(__fminf)
-weak_alias (__fminf, fminf)
+libm_alias_float (__fmin, fmin)
diff --git a/sysdeps/i386/fpu/s_frexpf.S b/sysdeps/i386/fpu/s_frexpf.S
index f21c39e..4b3e330 100644
--- a/sysdeps/i386/fpu/s_frexpf.S
+++ b/sysdeps/i386/fpu/s_frexpf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <machine/asm.h>
+#include <libm-alias-float.h>
 
 	.section .rodata
 
@@ -77,4 +78,4 @@ ENTRY (__frexpf)
 
 	ret
 END (__frexpf)
-weak_alias (__frexpf, frexpf)
+libm_alias_float (__frexp, frexp)
diff --git a/sysdeps/i386/fpu/s_llrintf.S b/sysdeps/i386/fpu/s_llrintf.S
index a4b574e..c622651 100644
--- a/sysdeps/i386/fpu/s_llrintf.S
+++ b/sysdeps/i386/fpu/s_llrintf.S
@@ -19,6 +19,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	.text
 ENTRY(__llrintf)
@@ -33,4 +34,4 @@ ENTRY(__llrintf)
 	cfi_adjust_cfa_offset (-4)
 	ret
 END(__llrintf)
-weak_alias (__llrintf, llrintf)
+libm_alias_float (__llrint, llrint)
diff --git a/sysdeps/i386/fpu/s_logbf.S b/sysdeps/i386/fpu/s_logbf.S
index 91eb3d2..175daf5 100644
--- a/sysdeps/i386/fpu/s_logbf.S
+++ b/sysdeps/i386/fpu/s_logbf.S
@@ -4,6 +4,7 @@
  */
 
 #include <machine/asm.h>
+#include <libm-alias-float.h>
 
 RCSID("$NetBSD: s_logbf.S,v 1.3 1995/05/09 00:15:12 jtc Exp $")
 
@@ -13,4 +14,4 @@ ENTRY(__logbf)
 	fstp	%st
 	ret
 END (__logbf)
-weak_alias (__logbf, logbf)
+libm_alias_float (__logb, logb)
diff --git a/sysdeps/i386/fpu/s_lrintf.S b/sysdeps/i386/fpu/s_lrintf.S
index fc6e68e..c0db071 100644
--- a/sysdeps/i386/fpu/s_lrintf.S
+++ b/sysdeps/i386/fpu/s_lrintf.S
@@ -19,6 +19,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	.text
 ENTRY(__lrintf)
@@ -31,4 +32,4 @@ ENTRY(__lrintf)
 	cfi_adjust_cfa_offset (-4)
 	ret
 END(__lrintf)
-weak_alias (__lrintf, lrintf)
+libm_alias_float (__lrint, lrint)
diff --git a/sysdeps/i386/fpu/s_nearbyintf.S b/sysdeps/i386/fpu/s_nearbyintf.S
index 92df2f8..169d06d 100644
--- a/sysdeps/i386/fpu/s_nearbyintf.S
+++ b/sysdeps/i386/fpu/s_nearbyintf.S
@@ -5,6 +5,7 @@
 /* Adapted for use as nearbyint by Ulrich Drepper <drepper@cygnus.com>.  */
 
 #include <machine/asm.h>
+#include <libm-alias-float.h>
 
 ENTRY(__nearbyintf)
 	flds	4(%esp)
@@ -17,4 +18,4 @@ ENTRY(__nearbyintf)
 	cfi_adjust_cfa_offset (-32)
 	ret
 END (__nearbyintf)
-weak_alias (__nearbyintf, nearbyintf)
+libm_alias_float (__nearbyint, nearbyint)
diff --git a/sysdeps/i386/fpu/s_remquof.S b/sysdeps/i386/fpu/s_remquof.S
index 62063f0..0b4a745 100644
--- a/sysdeps/i386/fpu/s_remquof.S
+++ b/sysdeps/i386/fpu/s_remquof.S
@@ -5,6 +5,7 @@
  */
 
 #include <machine/asm.h>
+#include <libm-alias-float.h>
 
 #define PARMS	4		/* no space for saved regs */
 #define DVDND	PARMS
@@ -42,4 +43,4 @@ ENTRY (__remquof)
 
 	ret
 END (__remquof)
-weak_alias (__remquof, remquof)
+libm_alias_float (__remquo, remquo)
diff --git a/sysdeps/i386/fpu/s_rintf.S b/sysdeps/i386/fpu/s_rintf.S
index 2b358c1..f6d1104 100644
--- a/sysdeps/i386/fpu/s_rintf.S
+++ b/sysdeps/i386/fpu/s_rintf.S
@@ -4,6 +4,7 @@
  */
 
 #include <machine/asm.h>
+#include <libm-alias-float.h>
 
 RCSID("$NetBSD: s_rintf.S,v 1.3 1995/05/09 00:17:22 jtc Exp $")
 
@@ -12,4 +13,4 @@ ENTRY(__rintf)
 	frndint
 	ret
 END (__rintf)
-weak_alias (__rintf, rintf)
+libm_alias_float (__rint, rint)
diff --git a/sysdeps/i386/fpu/s_truncf.S b/sysdeps/i386/fpu/s_truncf.S
index a93f5b9..467c12b 100644
--- a/sysdeps/i386/fpu/s_truncf.S
+++ b/sysdeps/i386/fpu/s_truncf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <machine/asm.h>
+#include <libm-alias-float.h>
 
 ENTRY(__truncf)
 	flds	4(%esp)
@@ -34,4 +35,4 @@ ENTRY(__truncf)
 	cfi_adjust_cfa_offset (-32)
 	ret
 END(__truncf)
-weak_alias (__truncf, truncf)
+libm_alias_float (__trunc, trunc)
diff --git a/sysdeps/i386/i686/fpu/multiarch/e_exp2f.c b/sysdeps/i386/i686/fpu/multiarch/e_exp2f.c
index 0a5727f..ed7a84d 100644
--- a/sysdeps/i386/i686/fpu/multiarch/e_exp2f.c
+++ b/sysdeps/i386/i686/fpu/multiarch/e_exp2f.c
@@ -23,11 +23,13 @@ extern float __redirect_exp2f (float);
 
 libc_ifunc_redirected (__redirect_exp2f, __exp2f, IFUNC_SELECTOR ());
 
+#include <libm-alias-float.h>
 #ifdef SHARED
 # include <shlib-compat.h>
 versioned_symbol (libm, __exp2f, exp2f, GLIBC_2_27);
+libm_alias_float_other (__exp2, exp2)
 #else
-weak_alias (__exp2f, exp2f)
+libm_alias_float (__exp2, exp2)
 #endif
 
 strong_alias (__exp2f, __ieee754_exp2f)
diff --git a/sysdeps/i386/i686/fpu/multiarch/e_expf.c b/sysdeps/i386/i686/fpu/multiarch/e_expf.c
index bd4240e..5c0f84a 100644
--- a/sysdeps/i386/i686/fpu/multiarch/e_expf.c
+++ b/sysdeps/i386/i686/fpu/multiarch/e_expf.c
@@ -23,14 +23,16 @@ extern float __redirect_expf (float);
 
 libc_ifunc_redirected (__redirect_expf, __expf, IFUNC_SELECTOR ());
 
+#include <libm-alias-float.h>
 #ifdef SHARED
 __hidden_ver1 (__expf_ia32, __GI___expf, __redirect_expf)
   __attribute__ ((visibility ("hidden")));
 
 # include <shlib-compat.h>
 versioned_symbol (libm, __expf, expf, GLIBC_2_27);
+libm_alias_float_other (__exp, exp)
 #else
-weak_alias (__expf, expf)
+libm_alias_float (__exp, exp)
 #endif
 
 strong_alias (__expf, __ieee754_expf)
diff --git a/sysdeps/i386/i686/fpu/multiarch/e_log2f.c b/sysdeps/i386/i686/fpu/multiarch/e_log2f.c
index 2c47949..af089de 100644
--- a/sysdeps/i386/i686/fpu/multiarch/e_log2f.c
+++ b/sysdeps/i386/i686/fpu/multiarch/e_log2f.c
@@ -23,14 +23,16 @@ extern float __redirect_log2f (float);
 
 libc_ifunc_redirected (__redirect_log2f, __log2f, IFUNC_SELECTOR ());
 
+#include <libm-alias-float.h>
 #ifdef SHARED
 __hidden_ver1 (__log2f_ia32, __GI___log2f, __redirect_log2f)
   __attribute__ ((visibility ("hidden")));
 
 # include <shlib-compat.h>
 versioned_symbol (libm, __log2f, log2f, GLIBC_2_27);
+libm_alias_float_other (__log2, log2)
 #else
-weak_alias (__log2f, log2f)
+libm_alias_float (__log2, log2)
 #endif
 
 strong_alias (__log2f, __ieee754_log2f)
diff --git a/sysdeps/i386/i686/fpu/multiarch/e_logf.c b/sysdeps/i386/i686/fpu/multiarch/e_logf.c
index 1414d17..f69065e 100644
--- a/sysdeps/i386/i686/fpu/multiarch/e_logf.c
+++ b/sysdeps/i386/i686/fpu/multiarch/e_logf.c
@@ -23,14 +23,16 @@ extern float __redirect_logf (float);
 
 libc_ifunc_redirected (__redirect_logf, __logf, IFUNC_SELECTOR ());
 
+#include <libm-alias-float.h>
 #ifdef SHARED
 __hidden_ver1 (__logf_ia32, __GI___logf, __redirect_logf)
   __attribute__ ((visibility ("hidden")));
 
 # include <shlib-compat.h>
 versioned_symbol (libm, __logf, logf, GLIBC_2_27);
+libm_alias_float_other (__log, log)
 #else
-weak_alias (__logf, logf)
+libm_alias_float (__log, log)
 #endif
 
 strong_alias (__logf, __ieee754_logf)
diff --git a/sysdeps/i386/i686/fpu/multiarch/e_powf.c b/sysdeps/i386/i686/fpu/multiarch/e_powf.c
index 4dc4c87..281563f 100644
--- a/sysdeps/i386/i686/fpu/multiarch/e_powf.c
+++ b/sysdeps/i386/i686/fpu/multiarch/e_powf.c
@@ -26,14 +26,16 @@
 
 libc_ifunc_redirected (__redirect_powf, __powf, IFUNC_SELECTOR ());
 
+#include <libm-alias-float.h>
 #ifdef SHARED
 __hidden_ver1 (__powf_ia32, __GI___powf, __redirect_powf)
   __attribute__ ((visibility ("hidden")));
 
 # include <shlib-compat.h>
 versioned_symbol (libm, __powf, powf, GLIBC_2_27);
+libm_alias_float_other (__pow, pow)
 #else
-weak_alias (__powf, powf)
+libm_alias_float (__pow, pow)
 #endif
 
 strong_alias (__powf, __ieee754_powf)
diff --git a/sysdeps/i386/i686/fpu/multiarch/s_cosf.c b/sysdeps/i386/i686/fpu/multiarch/s_cosf.c
index af588de..d16b05b 100644
--- a/sysdeps/i386/i686/fpu/multiarch/s_cosf.c
+++ b/sysdeps/i386/i686/fpu/multiarch/s_cosf.c
@@ -17,13 +17,14 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <init-arch.h>
+#include <libm-alias-float.h>
 
 extern float __cosf_sse2 (float);
 extern float __cosf_ia32 (float);
 float __cosf (float);
 
 libm_ifunc (__cosf, HAS_CPU_FEATURE (SSE2) ? __cosf_sse2 : __cosf_ia32);
-weak_alias (__cosf, cosf);
+libm_alias_float (__cos, cos);
 
 #define COSF __cosf_ia32
 #include <sysdeps/ieee754/flt-32/s_cosf.c>
diff --git a/sysdeps/i386/i686/fpu/multiarch/s_sincosf.c b/sysdeps/i386/i686/fpu/multiarch/s_sincosf.c
index 9428f9b..5cedffb 100644
--- a/sysdeps/i386/i686/fpu/multiarch/s_sincosf.c
+++ b/sysdeps/i386/i686/fpu/multiarch/s_sincosf.c
@@ -17,6 +17,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <init-arch.h>
+#include <libm-alias-float.h>
 
 extern void __sincosf_sse2 (float, float *, float *);
 extern void __sincosf_ia32 (float, float *, float *);
@@ -24,7 +25,7 @@ void __sincosf (float, float *, float *);
 
 libm_ifunc (__sincosf,
 	    HAS_CPU_FEATURE (SSE2) ? __sincosf_sse2 : __sincosf_ia32);
-weak_alias (__sincosf, sincosf);
+libm_alias_float (__sincos, sincos);
 
 #define SINCOSF __sincosf_ia32
 #include <sysdeps/ieee754/flt-32/s_sincosf.c>
diff --git a/sysdeps/i386/i686/fpu/multiarch/s_sinf.c b/sysdeps/i386/i686/fpu/multiarch/s_sinf.c
index 8ccdd2f..9bde8fa 100644
--- a/sysdeps/i386/i686/fpu/multiarch/s_sinf.c
+++ b/sysdeps/i386/i686/fpu/multiarch/s_sinf.c
@@ -17,12 +17,13 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <init-arch.h>
+#include <libm-alias-float.h>
 
 extern float __sinf_sse2 (float);
 extern float __sinf_ia32 (float);
 float __sinf (float);
 
 libm_ifunc (__sinf, HAS_CPU_FEATURE (SSE2) ? __sinf_sse2 : __sinf_ia32);
-weak_alias (__sinf, sinf);
+libm_alias_float (__sin, sin);
 #define SINF __sinf_ia32
 #include <sysdeps/ieee754/flt-32/s_sinf.c>
diff --git a/sysdeps/i386/i686/fpu/s_fmaxf.S b/sysdeps/i386/i686/fpu/s_fmaxf.S
index 3a25951..73da61d 100644
--- a/sysdeps/i386/i686/fpu/s_fmaxf.S
+++ b/sysdeps/i386/i686/fpu/s_fmaxf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	.text
 ENTRY(__fmaxf)
@@ -36,4 +37,4 @@ ENTRY(__fmaxf)
 
 	ret
 END(__fmaxf)
-weak_alias (__fmaxf, fmaxf)
+libm_alias_float (__fmax, fmax)
diff --git a/sysdeps/i386/i686/fpu/s_fminf.S b/sysdeps/i386/i686/fpu/s_fminf.S
index 52ea892..4c9dc9f 100644
--- a/sysdeps/i386/i686/fpu/s_fminf.S
+++ b/sysdeps/i386/i686/fpu/s_fminf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	.text
 ENTRY(__fminf)
@@ -34,4 +35,4 @@ ENTRY(__fminf)
 
 	ret
 END(__fminf)
-weak_alias (__fminf, fminf)
+libm_alias_float (__fmin, fmin)
diff --git a/sysdeps/i386/i686/multiarch/s_fmaf.c b/sysdeps/i386/i686/multiarch/s_fmaf.c
index 00b0fbc..9b9785f 100644
--- a/sysdeps/i386/i686/multiarch/s_fmaf.c
+++ b/sysdeps/i386/i686/multiarch/s_fmaf.c
@@ -21,13 +21,14 @@
 
 #include <math.h>
 #include <init-arch.h>
+#include <libm-alias-float.h>
 
 extern float __fmaf_ia32 (float x, float y, float z) attribute_hidden;
 extern float __fmaf_fma (float x, float y, float z) attribute_hidden;
 
 libm_ifunc (__fmaf,
 	    HAS_ARCH_FEATURE (FMA_Usable) ? __fmaf_fma : __fmaf_ia32);
-weak_alias (__fmaf, fmaf)
+libm_alias_float (__fma, fma)
 
 #define __fmaf __fmaf_ia32
 
