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.
This commit is contained in:
Joseph Myers 2017-10-03 20:56:46 +00:00
parent aa0235dfde
commit 39793865ec
4 changed files with 15 additions and 15 deletions

View file

@ -1,3 +1,13 @@
2017-10-03 Joseph Myers <joseph@codesourcery.com>
* 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.
2017-10-03 Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
[BZ #22235]

View file

@ -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)

View file

@ -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)

View file

@ -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