about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-10-03 20:56:46 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-10-03 20:56:46 +0000
commit39793865ec91775b4bf6e487c3e83b0d79517771 (patch)
tree77d263ad1b693d8530586c42db59f2031a83fd6f /sysdeps
parentaa0235dfdebffe9b338deba51f3ba563ee9b433d (diff)
downloadglibc-39793865ec91775b4bf6e487c3e83b0d79517771.tar.gz
glibc-39793865ec91775b4bf6e487c3e83b0d79517771.tar.xz
glibc-39793865ec91775b4bf6e487c3e83b0d79517771.zip
Use libm_alias_double for dbl-64 frexp.
This patch makes dbl-64 frexp use libm_alias_double.  Both the dbl-64
and dbl-64/wordsize-64 versions are changed; the ldbl-opt version is
made to define only the libc frexpl compat symbol, now the generic
code handles the libm compat symbol automatically.

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

	* sysdeps/ieee754/dbl-64/s_frexp.c: Include <libm-alias-double.h>.
	(frexp): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c: Include
	<libm-alias-double.h>.
	(frexp): Define using libm_alias_double.
	* sysdeps/ieee754/ldbl-opt/s_frexp.c (frexpl): Only define libc
	compat symbol here.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/ieee754/dbl-64/s_frexp.c7
-rw-r--r--sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c7
-rw-r--r--sysdeps/ieee754/ldbl-opt/s_frexp.c6
3 files changed, 5 insertions, 15 deletions
diff --git a/sysdeps/ieee754/dbl-64/s_frexp.c b/sysdeps/ieee754/dbl-64/s_frexp.c
index 874214ec7c..c96a869665 100644
--- a/sysdeps/ieee754/dbl-64/s_frexp.c
+++ b/sysdeps/ieee754/dbl-64/s_frexp.c
@@ -26,6 +26,7 @@ static char rcsid[] = "$NetBSD: s_frexp.c,v 1.9 1995/05/10 20:47:24 jtc Exp $";
 
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-double.h>
 
 static const double
   two54 = 1.80143985094819840000e+16; /* 0x43500000, 0x00000000 */
@@ -51,8 +52,4 @@ __frexp (double x, int *eptr)
   SET_HIGH_WORD (x, hx);
   return x;
 }
-weak_alias (__frexp, frexp)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__frexp, __frexpl)
-weak_alias (__frexp, frexpl)
-#endif
+libm_alias_double (__frexp, frexp)
diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c
index 5e8bc64711..f56042649d 100644
--- a/sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c
+++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c
@@ -19,6 +19,7 @@
 #include <inttypes.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-double.h>
 
 /*
  * for non-zero, finite x
@@ -62,8 +63,4 @@ __frexp (double x, int *eptr)
   *eptr = e;
   return x;
 }
-weak_alias (__frexp, frexp)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__frexp, __frexpl)
-weak_alias (__frexp, frexpl)
-#endif
+libm_alias_double (__frexp, frexp)
diff --git a/sysdeps/ieee754/ldbl-opt/s_frexp.c b/sysdeps/ieee754/ldbl-opt/s_frexp.c
index 0e3a5e0830..b0bfde3093 100644
--- a/sysdeps/ieee754/ldbl-opt/s_frexp.c
+++ b/sysdeps/ieee754/ldbl-opt/s_frexp.c
@@ -1,9 +1,5 @@
 #include <math_ldbl_opt.h>
 #include <sysdeps/ieee754/dbl-64/s_frexp.c>
-#if IS_IN (libm)
-# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __frexp, frexpl, GLIBC_2_0);
-# endif
-#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
+#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
 compat_symbol (libc, __frexp, frexpl, GLIBC_2_0);
 #endif