summaryrefslogtreecommitdiff
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
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