about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-11-28 17:18:20 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-11-28 17:18:20 +0000
commit6940bd966b8b5cf26661c32eae88135143713ba6 (patch)
treeaa0e9a591e0aa6f4667612602ed5098d766ff419
parent22c69b6ad63dce90955d3a1d654dd152e7972fdd (diff)
downloadglibc-6940bd966b8b5cf26661c32eae88135143713ba6.tar.gz
glibc-6940bd966b8b5cf26661c32eae88135143713ba6.tar.xz
glibc-6940bd966b8b5cf26661c32eae88135143713ba6.zip
Use libm_alias_double for s390.
Continuing the preparation for additional _FloatN / _FloatNx function
aliases, this patch makes s390 libm function implementations use
libm_alias_double to define function aliases.  This allows
sysdeps/unix/sysv/linux/s390/fpu/s_fma.c to be removed, as
libm_alias_double handles symbol versioning for long double compat
symbols.

Tested with build-many-glibcs.py for s390-linux-gnu and
s390x-linux-gnu that installed stripped shared libraries are unchanged
by the patch.

	* sysdeps/s390/fpu/s_fma.c: Include <libm-alias-double.h>.
	[!__fma] (fma): Define using libm_alias_double.
	* sysdeps/unix/sysv/linux/s390/fpu/s_fma.c: Remove.
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/s390/fpu/s_fma.c8
-rw-r--r--sysdeps/unix/sysv/linux/s390/fpu/s_fma.c5
3 files changed, 8 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 9307f40fae..4b7e1f36e7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-11-28  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/s390/fpu/s_fma.c: Include <libm-alias-double.h>.
+	[!__fma] (fma): Define using libm_alias_double.
+	* sysdeps/unix/sysv/linux/s390/fpu/s_fma.c: Remove.
+
 2017-11-28  Mike FABIAN  <mfabian@redhat.com>
 
 	[BZ #22336]
diff --git a/sysdeps/s390/fpu/s_fma.c b/sysdeps/s390/fpu/s_fma.c
index fb7210b19a..3f37400157 100644
--- a/sysdeps/s390/fpu/s_fma.c
+++ b/sysdeps/s390/fpu/s_fma.c
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <math.h>
+#include <libm-alias-double.h>
 
 double
 __fma (double x, double y, double z)
@@ -27,10 +28,5 @@ __fma (double x, double y, double z)
   return r;
 }
 #ifndef __fma
-weak_alias (__fma, fma)
-#endif
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__fma, __fmal)
-weak_alias (__fmal, fmal)
+libm_alias_double (__fma, fma)
 #endif
diff --git a/sysdeps/unix/sysv/linux/s390/fpu/s_fma.c b/sysdeps/unix/sysv/linux/s390/fpu/s_fma.c
deleted file mode 100644
index 2b2d505030..0000000000
--- a/sysdeps/unix/sysv/linux/s390/fpu/s_fma.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/s390/fpu/s_fma.c>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __fma, fmal, GLIBC_2_1);
-#endif