about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-10-11 00:03:46 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-10-11 00:03:46 +0000
commit541f19baf89e16304cdc5c3c8826896d3d2a7034 (patch)
treeb18aa2196d98c99a8ec3b682b70acae1a5e6023e
parent24b6515d879c992be194ccd5323b8b780fa6d4d3 (diff)
downloadglibc-541f19baf89e16304cdc5c3c8826896d3d2a7034.tar.gz
glibc-541f19baf89e16304cdc5c3c8826896d3d2a7034.tar.xz
glibc-541f19baf89e16304cdc5c3c8826896d3d2a7034.zip
Use libm_alias_* in soft-fp.
This patch makes the soft-fp implementations of fma functions use the
libm_alias_* macros.

Tested with build-many-glibcs.py that installed stripped shared
libraries are unchanged by the patch.

	* soft-fp/fmadf4.c: Include <libm-alias-double.h>.
	[!__fma] (fma): Define using libm_alias_double.
	* soft-fp/fmasf4.c: Include <libm-alias-float.h>.
	[!__fmaf] (fmaf): Define using libm_alias_float.
	* soft-fp/fmatf4.c: Include <libm-alias-ldouble.h>.
	(fmal): Define using libm_alias_ldouble.
-rw-r--r--ChangeLog9
-rw-r--r--soft-fp/fmadf4.c8
-rw-r--r--soft-fp/fmasf4.c3
-rw-r--r--soft-fp/fmatf4.c3
4 files changed, 15 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index a3c6b0ab19..870d29d772 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2017-10-11  Joseph Myers  <joseph@codesourcery.com>
+
+	* soft-fp/fmadf4.c: Include <libm-alias-double.h>.
+	[!__fma] (fma): Define using libm_alias_double.
+	* soft-fp/fmasf4.c: Include <libm-alias-float.h>.
+	[!__fmaf] (fmaf): Define using libm_alias_float.
+	* soft-fp/fmatf4.c: Include <libm-alias-ldouble.h>.
+	(fmal): Define using libm_alias_ldouble.
+
 2017-10-10  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/generic/libm-alias-double.h (libm_alias_double_other_r):
diff --git a/soft-fp/fmadf4.c b/soft-fp/fmadf4.c
index 74e2360eb7..313547d061 100644
--- a/soft-fp/fmadf4.c
+++ b/soft-fp/fmadf4.c
@@ -27,6 +27,7 @@
 
 #include <math.h>
 #include <libc-diag.h>
+#include <libm-alias-double.h>
 
 /* R_e is not set in cases where it is not used in packing, but the
    compiler does not see that it is set in all cases where it is
@@ -63,10 +64,5 @@ __fma (double a, double b, double c)
 DIAG_POP_NEEDS_COMMENT;
 
 #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/soft-fp/fmasf4.c b/soft-fp/fmasf4.c
index 2d3120eda9..295223da50 100644
--- a/soft-fp/fmasf4.c
+++ b/soft-fp/fmasf4.c
@@ -27,6 +27,7 @@
 
 #include <math.h>
 #include <libc-diag.h>
+#include <libm-alias-float.h>
 
 /* R_e is not set in cases where it is not used in packing, but the
    compiler does not see that it is set in all cases where it is
@@ -63,5 +64,5 @@ __fmaf (float a, float b, float c)
 DIAG_POP_NEEDS_COMMENT;
 
 #ifndef __fmaf
-weak_alias (__fmaf, fmaf)
+libm_alias_float (__fma, fma)
 #endif
diff --git a/soft-fp/fmatf4.c b/soft-fp/fmatf4.c
index 553a7ad3f8..79be52c4f1 100644
--- a/soft-fp/fmatf4.c
+++ b/soft-fp/fmatf4.c
@@ -27,6 +27,7 @@
 
 #include <math.h>
 #include <libc-diag.h>
+#include <libm-alias-ldouble.h>
 
 /* R_e is not set in cases where it is not used in packing, but the
    compiler does not see that it is set in all cases where it is
@@ -62,4 +63,4 @@ __fmal (long double a, long double b, long double c)
 }
 DIAG_POP_NEEDS_COMMENT;
 
-weak_alias (__fmal, fmal)
+libm_alias_ldouble (__fma, fma)