aboutsummaryrefslogtreecommitdiff
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.zip
glibc-541f19baf89e16304cdc5c3c8826896d3d2a7034.tar.gz
glibc-541f19baf89e16304cdc5c3c8826896d3d2a7034.tar.bz2
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 a3c6b0a..870d29d7 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 74e2360..313547d 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 2d3120e..295223d 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 553a7ad..79be52c 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)