about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-12-01 22:23:28 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-12-01 22:23:28 +0000
commitec2cf3f4445af7d729308350edf1e890eeebdd1d (patch)
treea5e44c3ef01d513ecabb158e1408e1cbb124d08a
parent15e84c63c05e0652047ba5e738c54d79d62ba74b (diff)
downloadglibc-ec2cf3f4445af7d729308350edf1e890eeebdd1d.tar.gz
glibc-ec2cf3f4445af7d729308350edf1e890eeebdd1d.tar.xz
glibc-ec2cf3f4445af7d729308350edf1e890eeebdd1d.zip
Use libm_alias_double for powerpc fabs, fma.
Continuing the preparation for additional _FloatN / _FloatNx function
aliases, this patch makes powerpc fabs and fma use libm_alias_double
to define function aliases.  This brings in automatic symbol
versioning compat handling, so the powerpc32 and powerpc64 wrappers
that added such handling to the generic sysdeps/powerpc/fpu versions
are removed as no longer required (there are no sysdeps directory
ordering issues that would necessitate keeping trivial wrappers
there).

Tested with build-many-glibcs.py that installed stripped shared
libraries are unchanged for all its hard-float powerpc configurations.

	* sysdeps/powerpc/fpu/s_fabs.S: Include <libm-alias-double.h>.
	(fabs): Define using libm_alias_double.
	* sysdeps/powerpc/fpu/s_fma.S: Include <libm-alias-double.h>.
	(fma): Define using libm_alias_double.
	* sysdeps/powerpc/powerpc32/fpu/s_fabs.S: Remove file.
	* sysdeps/powerpc/powerpc32/fpu/s_fma.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_fabs.S: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/s_fma.S: Likewise.
-rw-r--r--ChangeLog11
-rw-r--r--sysdeps/powerpc/fpu/s_fabs.S8
-rw-r--r--sysdeps/powerpc/fpu/s_fma.S8
-rw-r--r--sysdeps/powerpc/powerpc32/fpu/s_fabs.S5
-rw-r--r--sysdeps/powerpc/powerpc32/fpu/s_fma.S5
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_fabs.S5
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_fma.S5
7 files changed, 15 insertions, 32 deletions
diff --git a/ChangeLog b/ChangeLog
index 0a25edbc9f..5b13d0dc20 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2017-12-01  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/powerpc/fpu/s_fabs.S: Include <libm-alias-double.h>.
+	(fabs): Define using libm_alias_double.
+	* sysdeps/powerpc/fpu/s_fma.S: Include <libm-alias-double.h>.
+	(fma): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/fpu/s_fabs.S: Remove file.
+	* sysdeps/powerpc/powerpc32/fpu/s_fma.S: Likewise.
+	* sysdeps/powerpc/powerpc64/fpu/s_fabs.S: Likewise.
+	* sysdeps/powerpc/powerpc64/fpu/s_fma.S: Likewise.
+
 2017-12-01  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	* sysdeps/unix/sysv/linux/x86_64/x32/getcpu.c: Remove file.
diff --git a/sysdeps/powerpc/fpu/s_fabs.S b/sysdeps/powerpc/fpu/s_fabs.S
index 87dc82eb28..68f8801427 100644
--- a/sysdeps/powerpc/fpu/s_fabs.S
+++ b/sysdeps/powerpc/fpu/s_fabs.S
@@ -17,6 +17,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-double.h>
 
 ENTRY(__fabs)
 /* double [f1] fabs (double [f1] x); */
@@ -24,13 +25,8 @@ ENTRY(__fabs)
 	blr
 END(__fabs)
 
-weak_alias (__fabs,fabs)
+libm_alias_double (__fabs, fabs)
 
 /* It turns out that it's safe to use this code even for single-precision.  */
 strong_alias(__fabs,__fabsf)
 weak_alias (__fabs,fabsf)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__fabs,__fabsl)
-weak_alias (__fabs,fabsl)
-#endif
diff --git a/sysdeps/powerpc/fpu/s_fma.S b/sysdeps/powerpc/fpu/s_fma.S
index 19d2717f51..8a1a8e5780 100644
--- a/sysdeps/powerpc/fpu/s_fma.S
+++ b/sysdeps/powerpc/fpu/s_fma.S
@@ -17,6 +17,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-double.h>
 
 ENTRY_TOCLESS(__fma)
 /* double [f1] fma (double [f1] x, double [f2] y, double [f3] z); */
@@ -24,9 +25,4 @@ ENTRY_TOCLESS(__fma)
 	blr
 END(__fma)
 
-weak_alias (__fma,fma)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__fma,__fmal)
-weak_alias (__fma,fmal)
-#endif
+libm_alias_double (__fma, fma)
diff --git a/sysdeps/powerpc/powerpc32/fpu/s_fabs.S b/sysdeps/powerpc/powerpc32/fpu/s_fabs.S
deleted file mode 100644
index 53d21301ee..0000000000
--- a/sysdeps/powerpc/powerpc32/fpu/s_fabs.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/powerpc/fpu/s_fabs.S>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __fabs, fabsl, GLIBC_2_0)
-#endif
diff --git a/sysdeps/powerpc/powerpc32/fpu/s_fma.S b/sysdeps/powerpc/powerpc32/fpu/s_fma.S
deleted file mode 100644
index d40695c633..0000000000
--- a/sysdeps/powerpc/powerpc32/fpu/s_fma.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/powerpc/fpu/s_fma.S>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __fma, fmal, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_fabs.S b/sysdeps/powerpc/powerpc64/fpu/s_fabs.S
deleted file mode 100644
index 53d21301ee..0000000000
--- a/sysdeps/powerpc/powerpc64/fpu/s_fabs.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/powerpc/fpu/s_fabs.S>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __fabs, fabsl, GLIBC_2_0)
-#endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_fma.S b/sysdeps/powerpc/powerpc64/fpu/s_fma.S
deleted file mode 100644
index d40695c633..0000000000
--- a/sysdeps/powerpc/powerpc64/fpu/s_fma.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/powerpc/fpu/s_fma.S>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __fma, fmal, GLIBC_2_1)
-#endif