about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog23
-rw-r--r--math/w_scalbln_template.c4
-rw-r--r--sysdeps/ieee754/ldbl-opt/s_ldexp.c8
-rw-r--r--sysdeps/ieee754/ldbl-opt/s_ldexpl.c12
-rw-r--r--sysdeps/ieee754/ldbl-opt/s_log1p.c5
-rw-r--r--sysdeps/ieee754/ldbl-opt/s_scalbln.c9
-rw-r--r--sysdeps/ieee754/ldbl-opt/s_scalbn.c9
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_log1p.c3
-rw-r--r--sysdeps/ieee754/ldbl-opt/w_scalbln.c4
9 files changed, 33 insertions, 44 deletions
diff --git a/ChangeLog b/ChangeLog
index 3b74c0e196..70b575b47e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2017-09-13  Joseph Myers  <joseph@codesourcery.com>
+
+	* math/w_scalbln_template.c (strong_alias): Do not undefine and
+	redefine.
+	* sysdeps/ieee754/ldbl-opt/s_ldexp.c (declare_mgen_alias): Remove
+	macro.
+	(ldexpl): Only define as compat symbol for libc, not libm.
+	(scalbnl): Define as compat symbol for libc here.
+	* sysdeps/ieee754/ldbl-opt/s_ldexpl.c (declare_mgen_alias): Only
+	define for [IS_IN (libc)].
+	(__ldexpl_2): Remove alias.
+	(ldexpl): Only define with long_double_symbol if [IS_IN (libc)].
+	(scalbnl): Likewise.  Use __wrap_scalbnl not __ldexpl_2 as base
+	name in long_double_symbol call.
+	* sysdeps/ieee754/ldbl-opt/s_log1p.c: Remove file.
+	* sysdeps/ieee754/ldbl-opt/s_scalbln.c: Likewise.
+	* sysdeps/ieee754/ldbl-opt/s_scalbn.c: Likewise.
+	* sysdeps/ieee754/ldbl-opt/w_log1p.c: Likewise.
+	* sysdeps/ieee754/ldbl-opt/w_scalbln.c (declare_mgen_alias):
+	Remove macro.
+	[IS_IN (libc) && LONG_DOUBLE_COMPAT (libc, GLIBC_2_1)] (scalblnl):
+	Define as compat symbol.
+
 2017-09-13  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	* sysdeps/unix/sysv/linux/s390/s390-32/oldglob.c: New file.
diff --git a/math/w_scalbln_template.c b/math/w_scalbln_template.c
index 4315082a84..93148d5675 100644
--- a/math/w_scalbln_template.c
+++ b/math/w_scalbln_template.c
@@ -34,8 +34,4 @@ M_DECL_FUNC (__w_scalbln) (FLOAT x, long int n)
   return x;
 }
 
-/* Define strong_alias to nothing because we don't want
-   declare_mgen_alias to create a strong alias for scalblnl.  */
-#undef strong_alias
-#define strong_alias(name, alias_name)
 declare_mgen_alias (__w_scalbln, scalbln)
diff --git a/sysdeps/ieee754/ldbl-opt/s_ldexp.c b/sysdeps/ieee754/ldbl-opt/s_ldexp.c
index 5a875aeac1..e0433e96f4 100644
--- a/sysdeps/ieee754/ldbl-opt/s_ldexp.c
+++ b/sysdeps/ieee754/ldbl-opt/s_ldexp.c
@@ -17,14 +17,10 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define declare_mgen_alias(from, to) weak_alias (from, to)
 #include <math-type-macros-double.h>
 #include <s_ldexp_template.c>
 
-#if IS_IN (libm)
-# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __ldexp, ldexpl, GLIBC_2_0);
-# endif
-#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
+#if IS_IN (libc) && LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
 compat_symbol (libc, __ldexp, ldexpl, GLIBC_2_0);
+compat_symbol (libc, __wrap_scalbn, scalbnl, GLIBC_2_0);
 #endif
diff --git a/sysdeps/ieee754/ldbl-opt/s_ldexpl.c b/sysdeps/ieee754/ldbl-opt/s_ldexpl.c
index 85f34fa2c4..e0741ad529 100644
--- a/sysdeps/ieee754/ldbl-opt/s_ldexpl.c
+++ b/sysdeps/ieee754/ldbl-opt/s_ldexpl.c
@@ -17,15 +17,13 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define declare_mgen_alias(f,t)
+#if IS_IN (libc)
+# define declare_mgen_alias(f,t)
+#endif
 #include <math-type-macros-ldouble.h>
 #include <s_ldexp_template.c>
 
-strong_alias (__ldexpl, __ldexpl_2)
-#if IS_IN (libm)
-long_double_symbol (libm, __ldexpl, ldexpl);
-long_double_symbol (libm, __ldexpl_2, scalbnl);
-#else
+#if IS_IN (libc)
 long_double_symbol (libc, __ldexpl, ldexpl);
-long_double_symbol (libc, __ldexpl_2, scalbnl);
+long_double_symbol (libc, __wrap_scalbnl, scalbnl);
 #endif
diff --git a/sysdeps/ieee754/ldbl-opt/s_log1p.c b/sysdeps/ieee754/ldbl-opt/s_log1p.c
deleted file mode 100644
index 495fa32e35..0000000000
--- a/sysdeps/ieee754/ldbl-opt/s_log1p.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/ieee754/dbl-64/s_log1p.c>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __log1p, log1pl, GLIBC_2_0);
-#endif
diff --git a/sysdeps/ieee754/ldbl-opt/s_scalbln.c b/sysdeps/ieee754/ldbl-opt/s_scalbln.c
deleted file mode 100644
index 391142b769..0000000000
--- a/sysdeps/ieee754/ldbl-opt/s_scalbln.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/ieee754/dbl-64/s_scalbln.c>
-#if IS_IN (libm)
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __scalbln, scalblnl, GLIBC_2_1);
-#endif
-#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_1)
-compat_symbol (libc, __scalbln, scalblnl, GLIBC_2_1);
-#endif
diff --git a/sysdeps/ieee754/ldbl-opt/s_scalbn.c b/sysdeps/ieee754/ldbl-opt/s_scalbn.c
deleted file mode 100644
index 1ad81b199e..0000000000
--- a/sysdeps/ieee754/ldbl-opt/s_scalbn.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/ieee754/dbl-64/s_scalbn.c>
-#if IS_IN (libm)
-# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __scalbn, scalbnl, GLIBC_2_0);
-# endif
-#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
-compat_symbol (libc, __scalbn, scalbnl, GLIBC_2_0);
-#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_log1p.c b/sysdeps/ieee754/ldbl-opt/w_log1p.c
deleted file mode 100644
index ad0524708e..0000000000
--- a/sysdeps/ieee754/ldbl-opt/w_log1p.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#define declare_mgen_alias(from, to) weak_alias (from, to)
-#include <math-type-macros-double.h>
-#include <w_log1p_template.c>
diff --git a/sysdeps/ieee754/ldbl-opt/w_scalbln.c b/sysdeps/ieee754/ldbl-opt/w_scalbln.c
index 495169ff37..17a8a96d33 100644
--- a/sysdeps/ieee754/ldbl-opt/w_scalbln.c
+++ b/sysdeps/ieee754/ldbl-opt/w_scalbln.c
@@ -1,3 +1,5 @@
-#define declare_mgen_alias(from, to) weak_alias (from, to)
 #include <math-type-macros-double.h>
 #include <w_scalbln_template.c>
+#if IS_IN (libc) && LONG_DOUBLE_COMPAT (libc, GLIBC_2_1)
+compat_symbol (libc, __w_scalbln, scalblnl, GLIBC_2_1);
+#endif