summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-10-02 23:16:56 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-10-02 23:16:56 +0000
commit38722448c64682628244d285c1e30c8887a8c801 (patch)
treeb02299a9e1972bf8b7e80e7d6409bf023c39bd1e
parent527cd19c3d39288ae170fe09de87c05a27f4e12b (diff)
downloadglibc-38722448c64682628244d285c1e30c8887a8c801.tar.gz
Use libm_alias_double for dbl-64 atan, tan.
This patch makes the dbl-64 atan and tan implementations use libm_alias_double, removing the corresponding ldbl-opt wrappers. Tested for x86_64, and with build-many-glibcs.py. Installed stripped shared libraries are unchanged on non-ldbl-opt platforms. For ldbl-opt configurations, the patch has the effect of causing compat_symbol to define atanl and tanl in terms of __atan and __tan instead of in terms of atan and tan, which is enough to change the installed stripped libm.so. * sysdeps/ieee754/dbl-64/s_atan.c: Include <libm-alias-double.h>. (atan): Define using libm_alias_double. * sysdeps/ieee754/dbl-64/s_tan.c: Include <libm-alias-double.h>. (tan): Define using libm_alias_double. * sysdeps/ieee754/ldbl-opt/s_atan.c: Remove file. * sysdeps/ieee754/ldbl-opt/s_tan.c: Likewise.
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/ieee754/dbl-64/s_atan.c7
-rw-r--r--sysdeps/ieee754/dbl-64/s_tan.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/s_atan.c5
-rw-r--r--sysdeps/ieee754/ldbl-opt/s_tan.c5
5 files changed, 11 insertions, 20 deletions
diff --git a/ChangeLog b/ChangeLog
index ebe1641cb3..a43569336d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2017-10-02 Joseph Myers <joseph@codesourcery.com>
+ * sysdeps/ieee754/dbl-64/s_atan.c: Include <libm-alias-double.h>.
+ (atan): Define using libm_alias_double.
+ * sysdeps/ieee754/dbl-64/s_tan.c: Include <libm-alias-double.h>.
+ (tan): Define using libm_alias_double.
+ * sysdeps/ieee754/ldbl-opt/s_atan.c: Remove file.
+ * sysdeps/ieee754/ldbl-opt/s_tan.c: Likewise.
+
* sysdeps/ieee754/dbl-64/s_atan.c (atan): Rename to __atan and
define as weak alias of __atan. Do not define any aliases if
[__atan].
diff --git a/sysdeps/ieee754/dbl-64/s_atan.c b/sysdeps/ieee754/dbl-64/s_atan.c
index fdc3bf7e25..ca04bb0991 100644
--- a/sysdeps/ieee754/dbl-64/s_atan.c
+++ b/sysdeps/ieee754/dbl-64/s_atan.c
@@ -43,6 +43,7 @@
#include "atnat.h"
#include <fenv.h>
#include <float.h>
+#include <libm-alias-double.h>
#include <math.h>
#include <math_private.h>
#include <stap-probe.h>
@@ -324,9 +325,5 @@ atanMp (double x, const int pr[])
}
#ifndef __atan
-weak_alias (__atan, atan)
-# ifdef NO_LONG_DOUBLE
-strong_alias (__atan, __atanl)
-weak_alias (__atanl, atanl)
-# endif
+libm_alias_double (__atan, atan)
#endif
diff --git a/sysdeps/ieee754/dbl-64/s_tan.c b/sysdeps/ieee754/dbl-64/s_tan.c
index feec826237..24f6a9f1e6 100644
--- a/sysdeps/ieee754/dbl-64/s_tan.c
+++ b/sysdeps/ieee754/dbl-64/s_tan.c
@@ -41,6 +41,7 @@
#include "MathLib.h"
#include <math.h>
#include <math_private.h>
+#include <libm-alias-double.h>
#include <fenv.h>
#include <stap-probe.h>
@@ -844,9 +845,5 @@ tanMp (double x)
}
#ifndef __tan
-weak_alias (__tan, tan)
-# ifdef NO_LONG_DOUBLE
-strong_alias (__tan, __tanl)
-weak_alias (__tanl, tanl)
-# endif
+libm_alias_double (__tan, tan)
#endif
diff --git a/sysdeps/ieee754/ldbl-opt/s_atan.c b/sysdeps/ieee754/ldbl-opt/s_atan.c
deleted file mode 100644
index 5fbd5e62d6..0000000000
--- a/sysdeps/ieee754/ldbl-opt/s_atan.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/ieee754/dbl-64/s_atan.c>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, atan, atanl, GLIBC_2_0);
-#endif
diff --git a/sysdeps/ieee754/ldbl-opt/s_tan.c b/sysdeps/ieee754/ldbl-opt/s_tan.c
deleted file mode 100644
index 6b0fec0063..0000000000
--- a/sysdeps/ieee754/ldbl-opt/s_tan.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/ieee754/dbl-64/s_tan.c>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, tan, tanl, GLIBC_2_0);
-#endif