about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-11-30 00:30:40 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-11-30 00:30:40 +0000
commit3e5efdbdbef923276f3113a5bc52e0b46aabac57 (patch)
tree6530100193044c1550eac5787ea74828d5bd823c /sysdeps
parent875cd54855034ff0f328ce8bf797843a1ca33667 (diff)
downloadglibc-3e5efdbdbef923276f3113a5bc52e0b46aabac57.tar.gz
glibc-3e5efdbdbef923276f3113a5bc52e0b46aabac57.tar.xz
glibc-3e5efdbdbef923276f3113a5bc52e0b46aabac57.zip
Use libm_alias_float for sparc.
Continuing the preparation for additional _FloatN / _FloatNx function
aliases, this patch makes sparc libm function implementations use
libm_alias_float to define function aliases.

Tested with build-many-glibcs.py for all its sparc configurations that
installed stripped shared libraries are unchanged by the patch.

	* sysdeps/sparc/sparc32/fpu/s_copysignf.S: Include
	<libm-alias-float.h>.
	(copysignf): Define using libm_alias_float.
	* sysdeps/sparc/sparc32/fpu/s_fabsf.S: Include
	<libm-alias-float.h>.
	(fabsf): Define using libm_alias_float.
	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S:
	Include <libm-alias-float.h>.
	(copysignf): Define using libm_alias_float.
	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S: Include
	<libm-alias-float.h>.
	(fabsf): Define using libm_alias_float.
	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c: Include
	<libm-alias-float.h>.
	(fdimf): Define using libm_alias_float.
	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c: Include
	<libm-alias-float.h>.
	(fmaf): Define using libm_alias_float.
	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S: Include
	<libm-alias-float.h>.
	(llrintf): Define using libm_alias_float.
	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.S:
	Include <libm-alias-float.h>.
	(nearbyintf): Define using libm_alias_float.
	* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S: Include
	<libm-alias-float.h>.
	(rintf): Define using libm_alias_float.
	* sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S: Include
	<libm-alias-float.h>.
	(llrintf): Define using libm_alias_float.
	* sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S: Include
	<libm-alias-float.h>.
	(lrintf): Define using libm_alias_float.
	* sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S: Include
	<libm-alias-float.h>.
	(nearbyintf): Define using libm_alias_float.
	* sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S: Include
	<libm-alias-float.h>.
	(rintf): Define using libm_alias_float.
	* sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c: Include
	<libm-alias-float.h>.
	(ceilf): Define using libm_alias_float.
	* sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c: Include
	<libm-alias-float.h>.
	(floorf): Define using libm_alias_float.
	* sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c: Include
	<libm-alias-float.h>.
	(fmaf): Define using libm_alias_float.
	* sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.c: Include
	<libm-alias-float.h>.
	(lrintf): Define using libm_alias_float.
	(llrintf): Likewise.
	* sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.c: Include
	<libm-alias-float.h>.
	(nearbyintf): Define using libm_alias_float.
	* sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c: Include
	<libm-alias-float.h>.
	(rintf): Define using libm_alias_float.
	* sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c: Include
	<libm-alias-float.h>.
	(truncf): Define using libm_alias_float.
	* sysdeps/sparc/sparc64/fpu/s_copysignf.S: Include
	<libm-alias-float.h>.
	(copysignf): Define using libm_alias_float.
	* sysdeps/sparc/sparc64/fpu/s_fabsf.c: Include
	<libm-alias-float.h>.
	(fabsf): Define using libm_alias_float.
	* sysdeps/sparc/sparc64/fpu/s_lrintf.S: Include
	<libm-alias-float.h>.
	(lrintf): Define using libm_alias_float.
	(llrintf): Likewise.
	* sysdeps/sparc/sparc64/fpu/s_nearbyintf.S: Include
	<libm-alias-float.h>.
	(nearbyintf): Define using libm_alias_float.
	* sysdeps/sparc/sparc64/fpu/s_rintf.S: Include
	<libm-alias-float.h>.
	(rintf): Define using libm_alias_float.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_copysignf.S3
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_fabsf.S3
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S3
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S3
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c3
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c3
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S3
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.S3
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S3
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S3
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S3
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S3
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S3
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c3
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c3
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c3
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.c5
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.c3
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c3
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c3
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_copysignf.S3
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_fabsf.c4
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_lrintf.S5
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_nearbyintf.S3
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_rintf.S3
25 files changed, 53 insertions, 27 deletions
diff --git a/sysdeps/sparc/sparc32/fpu/s_copysignf.S b/sysdeps/sparc/sparc32/fpu/s_copysignf.S
index f2e78962a9..895de9a42e 100644
--- a/sysdeps/sparc/sparc32/fpu/s_copysignf.S
+++ b/sysdeps/sparc/sparc32/fpu/s_copysignf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 ENTRY (__copysignf)
 	sethi	%hi(0x80000000), %g1
@@ -28,4 +29,4 @@ ENTRY (__copysignf)
 	retl
 	 ld	[%sp + 68], %f0
 END (__copysignf)
-weak_alias (__copysignf, copysignf)
\ No newline at end of file
+libm_alias_float (__copysign, copysign)
diff --git a/sysdeps/sparc/sparc32/fpu/s_fabsf.S b/sysdeps/sparc/sparc32/fpu/s_fabsf.S
index 12ac9de5c8..a6ea8450e6 100644
--- a/sysdeps/sparc/sparc32/fpu/s_fabsf.S
+++ b/sysdeps/sparc/sparc32/fpu/s_fabsf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 ENTRY (__fabsf)
 	st	%o0, [%sp+68]
@@ -25,4 +26,4 @@ ENTRY (__fabsf)
 	retl
 	 fabss	%f0, %f0
 END (__fabsf)
-weak_alias (__fabsf, fabsf)
+libm_alias_float (__fabs, fabs)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S
index cd409550de..ebb32c7726 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S
@@ -1,8 +1,9 @@
 #include <sparc-ifunc.h>
+#include <libm-alias-float.h>
 
 SPARC_ASM_VIS3_IFUNC(copysignf)
 
-weak_alias (__copysignf, copysignf)
+libm_alias_float (__copysign, copysign)
 
 # undef weak_alias
 # define weak_alias(a, b)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S
index 0f2e11e01f..628486a113 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S
@@ -1,8 +1,9 @@
 #include <sparc-ifunc.h>
+#include <libm-alias-float.h>
 
 SPARC_ASM_VIS3_IFUNC(fabsf)
 
-weak_alias (__fabsf, fabsf)
+libm_alias_float (__fabs, fabs)
 
 # undef weak_alias
 # define weak_alias(a, b)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c
index ced459383b..4bc83706d2 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdimf.c
@@ -18,9 +18,10 @@
 
 #include <sparc-ifunc.h>
 #include <math.h>
+#include <libm-alias-float.h>
 
 extern float __fdimf_vis3 (float, float);
 extern float __fdimf_generic (float, float);
 
 sparc_libm_ifunc(__fdimf, hwcap & HWCAP_SPARC_VIS3 ? __fdimf_vis3 : __fdimf_generic);
-weak_alias (__fdimf, fdimf)
+libm_alias_float (__fdim, fdim)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c
index 5357b47a9a..e82c4a4031 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaf.c
@@ -1,8 +1,9 @@
 #include <sparc-ifunc.h>
 #include <math.h>
+#include <libm-alias-float.h>
 
 extern float __fmaf_vis3 (float, float, float);
 extern float __fmaf_generic (float, float, float);
 
 sparc_libm_ifunc(__fmaf, hwcap & HWCAP_SPARC_FMAF ? __fmaf_vis3 : __fmaf_generic);
-weak_alias (__fmaf, fmaf)
+libm_alias_float (__fma, fma)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S
index 8af5244e7e..31b44f3e3f 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S
@@ -1,8 +1,9 @@
 #include <sparc-ifunc.h>
+#include <libm-alias-float.h>
 
 SPARC_ASM_VIS3_IFUNC(llrintf)
 
-weak_alias (__llrintf, llrintf)
+libm_alias_float (__llrint, llrint)
 
 strong_alias (__llrintf, __lllrintf)
 weak_alias (__lllrintf, lllrintf)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.S
index 95100c1bfc..113db1dec4 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf.S
@@ -1,8 +1,9 @@
 #include <sparc-ifunc.h>
+#include <libm-alias-float.h>
 
 SPARC_ASM_VIS3_IFUNC(nearbyintf)
 
-weak_alias (__nearbyintf, nearbyintf)
+libm_alias_float (__nearbyint, nearbyint)
 
 # undef weak_alias
 # define weak_alias(a, b)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S
index 38fd936086..99892806c5 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S
@@ -1,8 +1,9 @@
 #include <sparc-ifunc.h>
+#include <libm-alias-float.h>
 
 SPARC_ASM_VIS3_IFUNC(rintf)
 
-weak_alias (__rintf, rintf)
+libm_alias_float (__rint, rint)
 
 # undef weak_alias
 # define weak_alias(a, b)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S
index cda284b124..e3dc97c19d 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrintf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	/* We pop constants into the FPU registers using the incoming
 	   argument stack slots, since this avoid having to use any PIC
@@ -59,4 +60,4 @@ ENTRY (__llrintf)
 	retl
 	 ldd	[%sp + 72], %o0
 END (__llrintf)
-weak_alias (__llrintf, llrintf)
+libm_alias_float (__llrint, llrint)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S
index a242b755d0..c466b6fc8f 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrintf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	/* We pop constants into the FPU registers using the incoming
 	   argument stack slots, since this avoid having to use any PIC
@@ -59,4 +60,4 @@ ENTRY (__lrintf)
 	retl
 	 ld	[%sp + 68], %o0
 END (__lrintf)
-weak_alias (__lrintf, lrintf)
+libm_alias_float (__lrint, lrint)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S
index 1e65c79ee6..02bb19e09c 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S
@@ -20,6 +20,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	/* We pop constants into the FPU registers using the incoming
 	   argument stack slots, since this avoid having to use any PIC
@@ -62,4 +63,4 @@ ENTRY (__nearbyintf)
 	retl
 	 ld	[%sp + 88], %fsr
 END (__nearbyintf)
-weak_alias (__nearbyintf, nearbyintf)
+libm_alias_float (__nearbyint, nearbyint)
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S
index dfdae9dcdd..06caf52e42 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_rintf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	/* We pop constants into the FPU registers using the incoming
 	   argument stack slots, since this avoid having to use any PIC
@@ -56,4 +57,4 @@ ENTRY (__rintf)
 	retl
 	 fors	%f0, SIGN_BIT, %f0
 END (__rintf)
-weak_alias (__rintf, rintf)
+libm_alias_float (__rint, rint)
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c
index 81897b5e54..14d8e6f9cf 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c
@@ -18,6 +18,7 @@
 
 #include <sparc-ifunc.h>
 #include <math.h>
+#include <libm-alias-float.h>
 
 extern __typeof (ceilf) __ceilf_vis3 attribute_hidden;
 extern __typeof (ceilf) __ceilf_generic attribute_hidden;
@@ -26,4 +27,4 @@ sparc_libm_ifunc (__ceilf,
 		  hwcap & HWCAP_SPARC_VIS3
 		  ? __ceilf_vis3
 		  : __ceilf_generic);
-weak_alias (__ceilf, ceilf)
+libm_alias_float (__ceil, ceil)
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c
index 09d0a4524d..5660c0a257 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c
@@ -18,6 +18,7 @@
 
 #include <sparc-ifunc.h>
 #include <math.h>
+#include <libm-alias-float.h>
 
 extern __typeof (floorf) __floorf_vis3 attribute_hidden;
 extern __typeof (floorf) __floorf_generic attribute_hidden;
@@ -26,4 +27,4 @@ sparc_libm_ifunc (__floorf,
 		  hwcap & HWCAP_SPARC_VIS3
 		  ? __floorf_vis3
 		  : __floorf_generic);
-weak_alias (__floorf, floorf)
+libm_alias_float (__floor, floor)
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c
index dbed10e19a..08f71c8bba 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_fmaf.c
@@ -1,5 +1,6 @@
 #include <sparc-ifunc.h>
 #include <math.h>
+#include <libm-alias-float.h>
 
 extern __typeof (fmaf) __fmaf_vis3 attribute_hidden;
 extern __typeof (fmaf) __fmaf_generic attribute_hidden;
@@ -8,4 +9,4 @@ sparc_libm_ifunc (__fmaf,
 		  hwcap & HWCAP_SPARC_FMAF
 		  ? __fmaf_vis3
 		  : __fmaf_generic)
-weak_alias (__fmaf, fmaf)
+libm_alias_float (__fma, fma)
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.c
index 9b1a569d01..9667882cf6 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.c
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.c
@@ -26,6 +26,7 @@
 #undef __lrintf
 #undef __llrintf
 #include <sparc-ifunc.h>
+#include <libm-alias-float.h>
 
 extern __typeof (__redirect_lrintf) __lrintf_vis3 attribute_hidden;
 extern __typeof (__redirect_lrintf) __lrintf_generic attribute_hidden;
@@ -34,6 +35,6 @@ sparc_libm_ifunc_redirected (__redirect_lrintf, __lrintf,
 			     hwcap & HWCAP_SPARC_VIS3
 			     ? __lrintf_vis3
 			     : __lrintf_generic);
-weak_alias (__lrintf, lrintf)
+libm_alias_float (__lrint, lrint)
 strong_alias (__lrintf, __llrintf)
-weak_alias (__llrintf, llrintf)
+libm_alias_float (__llrint, llrint)
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.c
index 0de020e791..5cdf2ee92e 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.c
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf.c
@@ -18,6 +18,7 @@
 
 #include <math.h>
 #include <sparc-ifunc.h>
+#include <libm-alias-float.h>
 
 extern __typeof (nearbyintf) __nearbyintf_vis3 attribute_hidden;
 extern __typeof (nearbyintf) __nearbyintf_generic attribute_hidden;
@@ -26,4 +27,4 @@ sparc_libm_ifunc (__nearbyintf,
 		  hwcap & HWCAP_SPARC_VIS3
 		  ? __nearbyintf_vis3
 		  : __nearbyintf_generic);
-weak_alias (__nearbyintf, nearbyintf)
+libm_alias_float (__nearbyint, nearbyint)
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c
index 6fdf0921b8..e9813dbea3 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c
@@ -18,6 +18,7 @@
 
 #include <math.h>
 #include <sparc-ifunc.h>
+#include <libm-alias-float.h>
 
 extern __typeof (rintf) __rintf_vis3 attribute_hidden;
 extern __typeof (rintf) __rintf_generic attribute_hidden;
@@ -26,4 +27,4 @@ sparc_libm_ifunc (__rintf,
 		  hwcap & HWCAP_SPARC_VIS3
 		  ? __rintf_vis3
 		  : __rintf_generic);
-weak_alias (__rintf, rintf)
+libm_alias_float (__rint, rint)
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c b/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c
index 3c1fa36cf7..ffef4341a9 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_truncf.c
@@ -18,6 +18,7 @@
 
 #include <sparc-ifunc.h>
 #include <math.h>
+#include <libm-alias-float.h>
 
 extern __typeof (truncf) __truncf_vis3 attribute_hidden;
 extern __typeof (truncf) __truncf_generic attribute_hidden;
@@ -26,4 +27,4 @@ sparc_libm_ifunc (__truncf,
 		  hwcap & HWCAP_SPARC_VIS3
 		  ? __truncf_vis3
 		  : __truncf_generic)
-weak_alias (__truncf, truncf)
+libm_alias_float (__trunc, trunc)
diff --git a/sysdeps/sparc/sparc64/fpu/s_copysignf.S b/sysdeps/sparc/sparc64/fpu/s_copysignf.S
index 2f24217274..d9e2b7f939 100644
--- a/sysdeps/sparc/sparc64/fpu/s_copysignf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_copysignf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 ENTRY (__copysignf)
 	fzeros	%f7
@@ -27,4 +28,4 @@ ENTRY (__copysignf)
 	retl
 	 fors	%f1, %f9, %f0
 END (__copysignf)
-weak_alias (__copysignf, copysignf)
\ No newline at end of file
+libm_alias_float (__copysign, copysign)
diff --git a/sysdeps/sparc/sparc64/fpu/s_fabsf.c b/sysdeps/sparc/sparc64/fpu/s_fabsf.c
index 8a218e4942..5f54f80bf5 100644
--- a/sysdeps/sparc/sparc64/fpu/s_fabsf.c
+++ b/sysdeps/sparc/sparc64/fpu/s_fabsf.c
@@ -1,5 +1,7 @@
+#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/sparc/sparc64/fpu/s_lrintf.S b/sysdeps/sparc/sparc64/fpu/s_lrintf.S
index 5f2405ad9e..0417574213 100644
--- a/sysdeps/sparc/sparc64/fpu/s_lrintf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_lrintf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	/* We pop constants into the FPU registers using the incoming
 	   argument stack slots, since this avoid having to use any PIC
@@ -56,7 +57,7 @@ ENTRY (__lrintf)
 	retl
 	 ldx	[%sp + STACK_BIAS + 128], %o0
 END (__lrintf)
-weak_alias (__lrintf, lrintf)
+libm_alias_float (__lrint, lrint)
 
 strong_alias (__lrintf, __llrintf)
-weak_alias (__llrintf, llrintf)
+libm_alias_float (__llrint, llrint)
diff --git a/sysdeps/sparc/sparc64/fpu/s_nearbyintf.S b/sysdeps/sparc/sparc64/fpu/s_nearbyintf.S
index 55e3639a87..c482d3d948 100644
--- a/sysdeps/sparc/sparc64/fpu/s_nearbyintf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_nearbyintf.S
@@ -20,6 +20,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	/* We pop constants into the FPU registers using the incoming
 	   argument stack slots, since this avoid having to use any PIC
@@ -60,4 +61,4 @@ ENTRY (__nearbyintf)
 	retl
 	 ldx	[%sp + STACK_BIAS + 144], %fsr
 END (__nearbyintf)
-weak_alias (__nearbyintf, nearbyintf)
+libm_alias_float (__nearbyint, nearbyint)
diff --git a/sysdeps/sparc/sparc64/fpu/s_rintf.S b/sysdeps/sparc/sparc64/fpu/s_rintf.S
index a2f9261382..f00ec2eebc 100644
--- a/sysdeps/sparc/sparc64/fpu/s_rintf.S
+++ b/sysdeps/sparc/sparc64/fpu/s_rintf.S
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-float.h>
 
 	/* We pop constants into the FPU registers using the incoming
 	   argument stack slots, since this avoid having to use any PIC
@@ -53,4 +54,4 @@ ENTRY (__rintf)
 	retl
 	 fors	%f0, SIGN_BIT, %f0
 END (__rintf)
-weak_alias (__rintf, rintf)
+libm_alias_float (__rint, rint)