about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-10-06 20:23:58 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-10-06 20:23:58 +0000
commitf85a176f3f411b7478c2b8cb2708973e8668e7fb (patch)
tree825661a9917eb4fa8f558aba88dbff90fcca0701
parentfd3b4e7c8a0b492fe39243893803f4d9f84e30af (diff)
downloadglibc-f85a176f3f411b7478c2b8cb2708973e8668e7fb.tar.gz
glibc-f85a176f3f411b7478c2b8cb2708973e8668e7fb.tar.xz
glibc-f85a176f3f411b7478c2b8cb2708973e8668e7fb.zip
Use libm_alias_double in ldbl-128, ldbl-96 fma.
This patch makes the ldbl-128 and ldbl-96 implementations of fma use
libm_alias_double.

Tested for x86_64, and tested with build-many-glibcs.py that installed
stripped shared libraries are unchanged by the patch.

	* sysdeps/ieee754/ldbl-128/s_fma.c: Include <libm-alias-double.h>.
	[!__fma] (fma): Define using libm_alias_double.
	* sysdeps/ieee754/ldbl-96/s_fma.c: Include <libm-alias-double.h>.
	[!__fma] (fma): Define using libm_alias_double.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/ieee754/ldbl-128/s_fma.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/s_fma.c3
3 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 6aaf10d4a1..deec63d1a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2017-10-06  Joseph Myers  <joseph@codesourcery.com>
 
+	* sysdeps/ieee754/ldbl-128/s_fma.c: Include <libm-alias-double.h>.
+	[!__fma] (fma): Define using libm_alias_double.
+	* sysdeps/ieee754/ldbl-96/s_fma.c: Include <libm-alias-double.h>.
+	[!__fma] (fma): Define using libm_alias_double.
+
 	* sysdeps/ieee754/float128/float128_private.h: Include
 	<libm-alias-ldouble.h> and <libm-alias-float128.h>.
 	(libm_alias_ldouble_r): Undefine and redefine.
diff --git a/sysdeps/ieee754/ldbl-128/s_fma.c b/sysdeps/ieee754/ldbl-128/s_fma.c
index 13da2904f4..0f7ecabdbd 100644
--- a/sysdeps/ieee754/ldbl-128/s_fma.c
+++ b/sysdeps/ieee754/ldbl-128/s_fma.c
@@ -20,6 +20,7 @@
 #include <math.h>
 #include <fenv.h>
 #include <ieee754.h>
+#include <libm-alias-double.h>
 
 /* This implementation relies on long double being more than twice as
    precise as double and uses rounding to odd in order to avoid problems
@@ -51,5 +52,5 @@ __fma (double x, double y, double z)
   return (double) u.d;
 }
 #ifndef __fma
-weak_alias (__fma, fma)
+libm_alias_double (__fma, fma)
 #endif
diff --git a/sysdeps/ieee754/ldbl-96/s_fma.c b/sysdeps/ieee754/ldbl-96/s_fma.c
index 370592074e..e573c711ef 100644
--- a/sysdeps/ieee754/ldbl-96/s_fma.c
+++ b/sysdeps/ieee754/ldbl-96/s_fma.c
@@ -22,6 +22,7 @@
 #include <fenv.h>
 #include <ieee754.h>
 #include <math_private.h>
+#include <libm-alias-double.h>
 
 /* This implementation uses rounding to odd to avoid problems with
    double rounding.  See a paper by Boldo and Melquiond:
@@ -97,5 +98,5 @@ __fma (double x, double y, double z)
   return u.d;
 }
 #ifndef __fma
-weak_alias (__fma, fma)
+libm_alias_double (__fma, fma)
 #endif