glibc/sysdeps/ieee754/dbl-64
Joseph Myers 1e2bffd05c Use libm_alias_double for some dbl-64 functions.
Continuing the move of libm aliases to common macros that can create
_FloatN / _FloatNx aliases in future, this patch converts some dbl-64
functions to using libm_alias_double, thereby eliminating the need for
some ldbl-opt wrappers.

This patch deliberately limits what functions are converted so that it
can be verified by comparison of stipped binaries.  Specifically, atan
and tan are excluded because they first need converting to being weak
aliases; fma is omitted as it has additional complications with
versions in other directories (removing the ldbl-opt version can
e.g. cause the ldbl-128 version to be used instead of dbl-64); and
functions that have both dbl-64/wordsize-64 and ldbl-opt versions are
excluded because ldbl-opt currently always wraps dbl-64 function
versions, so changing those will result in platforms using both
ldbl-opt and dbl-64/wordsize-64 (i.e. alpha) starting to use the
dbl-64/wordsize-64 versions of those functions (which is good, as an
optimization, but still best separated from the present patch to get
better validation).

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

	* sysdeps/ieee754/dbl-64/s_asinh.c: Include <libm-alias-double.h>.
	(asinh): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_cbrt.c: Include <libm-alias-double.h>.
	(cbrt): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_copysign.c: Include
	<libm-alias-double.h>.
	(copysign): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_erf.c: Include <libm-alias-double.h>.
	(erf): Define using libm_alias_double.
	(erfc): Likewise.
	* sysdeps/ieee754/dbl-64/s_expm1.c: Include <libm-alias-double.h>.
	(expm1): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_fabs.c: Include <libm-alias-double.h>.
	(fabs): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_fromfp.c (fromfp): Define using
	libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_fromfp_main.c: Include
	<libm-alias-double.h>.
	* sysdeps/ieee754/dbl-64/s_fromfpx.c (fromfpx): Define using
	libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_getpayload.c: Include
	<libm-alias-double.h>.
	(getpayload): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_llrint.c: Include
	<libm-alias-double.h>.
	(llrint): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_lrint.c: Include <libm-alias-double.h>.
	(lrint): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_nextup.c: Include
	<libm-alias-double.h>.
	(nextup): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_roundeven.c: Include
	<libm-alias-double.h>.
	(roundeven): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_setpayload.c (setpayload): Define using
	libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_setpayload_main.c: Include
	<libm-alias-double.h>.
	* sysdeps/ieee754/dbl-64/s_setpayloadsig.c (setpayloadsig): Define
	using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_sin.c: Include <libm-alias-double.h>.
	(cos): Define using libm_alias_double.
	(sin): Likewise.
	* sysdeps/ieee754/dbl-64/s_sincos.c: Include
	<libm-alias-double.h>.
	(sincos): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_tanh.c: Include <libm-alias-double.h>.
	(tanh): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_totalorder.c: Include
	<libm-alias-double.h>.
	(totalorder): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_totalordermag.c: Include
	<libm-alias-double.h>.
	(totalordermag): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_ufromfp.c (ufromfp): Define using
	libm_alias_double.
	* sysdeps/ieee754/dbl-64/s_ufromfpx.c (ufromfpx): Define using
	libm_alias_double.
	* sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c: Include
	<libm-alias-double.h>.
	(getpayload): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c: Include
	<libm-alias-double.h>.
	(roundeven): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/wordsize-64/s_setpayload_main.c: Include
	<libm-alias-double.h>.
	* sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c: Include
	<libm-alias-double.h>.
	(totalorder): Define using libm_alias_double.
	* sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c: Include
	<libm-alias-double.h>.
	(totalordermag): Define using libm_alias_double.
	* sysdeps/ieee754/ldbl-opt/s_copysign.c (copysignl): Only define
	libc compat symbol here.
	* sysdeps/ieee754/ldbl-opt/s_asinh.c: Remove file.
	* sysdeps/ieee754/ldbl-opt/s_cbrt.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/s_erf.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/s_expm1.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/s_fabs.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/s_llrint.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/s_lrint.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/s_sin.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/s_sincos.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/s_tanh.c: Likewise.
2017-09-29 23:54:33 +00:00
..
wordsize-64 Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
asincos.tbl Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
atnat2.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
atnat.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
branred.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
branred.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dbl2mpn.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dla.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
doasin.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
doasin.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dosincos.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dosincos.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_acos.c Update. 2001-03-12 00:04:52 +00:00
e_acosh.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_asin.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_atan2.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_atanh.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_cosh.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_exp2.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_exp10.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_exp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_fmod.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_gamma_r.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_hypot.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_ilogb.c Format floating routines. 2013-10-17 16:03:24 +02:00
e_j0.c Fix y0 and y1 exception handling for zero input [BZ #21134] 2017-02-15 10:30:59 -02:00
e_j1.c Fix y0 and y1 exception handling for zero input [BZ #21134] 2017-02-15 10:30:59 -02:00
e_jn.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_lgamma_r.c Use fabs(f/l) rather than __fabs 2017-09-29 18:54:24 +01:00
e_log2.c Use fabs(f/l) rather than __fabs 2017-09-29 18:54:24 +01:00
e_log10.c Use fabs(f/l) rather than __fabs 2017-09-29 18:54:24 +01:00
e_log.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_pow.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_rem_pio2.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_remainder.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_sinh.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_sqrt.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gamma_product.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gamma_productf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
halfulp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
k_cos.c Update. 2001-03-12 00:04:52 +00:00
k_rem_pio2.c Narrowing the visibility of libc-internal.h even further. 2017-03-01 20:33:46 -05:00
k_sin.c Update. 2001-03-12 00:04:52 +00:00
k_tan.c Replace sysdeps/ieee754/dbl-64/k_tan.c with empty file 2012-02-26 16:10:46 +01:00
lgamma_neg.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
lgamma_product.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Makefile Fix CFLAGS override in sysdeps/ieee754/dbl-64 2017-08-24 15:56:11 +01:00
MathLib.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mpa-arch.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mpa.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mpa.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mpatan2.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mpatan.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mpatan.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mpexp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mplog.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mpn2dbl.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mpsqrt.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mpsqrt.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mptan.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mydefs.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
powtwo.tbl Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
root.tbl Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_asinh.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_atan.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_cbrt.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_ceil.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_copysign.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_cos.c Update. 2001-03-12 00:04:52 +00:00
s_erf.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_expm1.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_fabs.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_finite.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_floor.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_fma.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_fmaf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_fpclassify.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_frexp.c Fix frexp (NaN) (bug 20250). 2016-06-13 17:27:19 +00:00
s_fromfp_main.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_fromfp.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_fromfpx.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_getpayload.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_isinf.c math: add LDBL_CLASSIFY_COMPAT support 2015-12-03 13:00:46 -05:00
s_isnan.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_issignaling.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_llrint.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_llround.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_log1p.c Refactor code forcing underflow exceptions. 2015-09-23 22:42:30 +00:00
s_logb.c Work around powerpc32 integer 0 converting to -0 (bug 887, bug 19049, bug 19050). 2015-10-05 17:46:50 +00:00
s_lrint.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_lround.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_modf.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_nearbyint.c Fix nearbyint arithmetic moved before feholdexcept (bug 22225). 2017-09-28 01:59:02 +00:00
s_nexttoward.c Update. 1999-07-14 00:54:57 +00:00
s_nextup.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_remquo.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_rint.c Format floating routines. 2013-10-17 16:03:24 +02:00
s_round.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_roundeven.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_scalbln.c [BZ #6803] Set errno for scalbln, scalbn 2014-06-20 07:48:20 +05:30
s_scalbn.c Make scalbn set errno (bug 6803). 2015-09-16 21:11:00 +00:00
s_setpayload_main.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_setpayload.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_setpayloadsig.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_signbit.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_sin.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_sincos.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_tan.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_tanh.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_totalorder.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_totalordermag.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_trunc.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_ufromfp.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_ufromfpx.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
sincos32.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sincos32.h Fix typo in sincos32.h inclusion guard. 2017-09-25 15:56:22 +02:00
sincostab.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
slowexp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
slowpow.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
t_exp2.h Update. 1999-07-14 00:54:57 +00:00
t_exp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
uasncs.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
uatan.tbl Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
uexp.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
uexp.tbl Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ulog.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ulog.tbl Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
upow.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
upow.tbl Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
urem.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
usncs.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
utan.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
utan.tbl Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
x2y2m1.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
x2y2m1f.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00