glibc/sysdeps/ieee754/dbl-64
Bernd Edlinger 648615e13f Avoid signed shift overflow in pow (bug 21309).
As noted in bug 21309, dbl-64/e_pow.c contains signed int shifts that,
although the shift count is in the range [0, 31], shift bits into and
beyond the sign bit and so are undefined in ISO C.  Although this is
defined in GNU C, this patch from the bug cleans up the code to avoid
those shifts.

Tested for x86_64.

	[BZ #21309]
	* sysdeps/ieee754/dbl-64/e_pow.c (checkint): Make m and n
	unsigned.
2017-12-19 18:41:01 +00:00
..
wordsize-64 [BZ #22243] fix log2(0) and log(10) in downward rounding 2017-10-04 10:13:56 +01: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
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 Revert exp reimplementation (causes test failures). 2017-12-19 18:11:37 +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 [BZ #22244] Fix yn(n,0) without SVID wrapper 2017-10-04 10:15:12 +01: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 Avoid signed shift overflow in pow (bug 21309). 2017-12-19 18:41:01 +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
k_rem_pio2.c Narrowing the visibility of libc-internal.h even further. 2017-03-01 20:33:46 -05:00
k_sin.c
k_tan.c
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 Use libm_alias_double for dbl-64 atan, tan. 2017-10-02 23:16:56 +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 Use libm_alias_double for more dbl-64 functions. 2017-10-03 17:47:35 +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
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 Use libm_alias_double for more dbl-64 functions. 2017-10-03 17:47:35 +00:00
s_fma.c Use libm_alias_double for dbl-64 fma. 2017-10-04 20:32:48 +00:00
s_fmaf.c Use libm_alias_float for dbl-64 fmaf. 2017-10-03 21:01:33 +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 Use libm_alias_double for dbl-64 frexp. 2017-10-03 20:56:46 +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 Use libm_alias_double for more dbl-64 functions. 2017-10-03 17:47:35 +00:00
s_log1p.c Refactor code forcing underflow exceptions. 2015-09-23 22:42:30 +00:00
s_logb.c Use libm_alias_double for dbl-64 logb. 2017-10-03 23:44:41 +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 Use libm_alias_double for more dbl-64 functions. 2017-10-03 17:47:35 +00:00
s_modf.c Use libm_alias_double for dbl-64 modf. 2017-10-03 23:46:23 +00:00
s_nearbyint.c Use libm_alias_double for more dbl-64 functions. 2017-10-03 17:47:35 +00:00
s_nexttoward.c
s_nextup.c Use libm_alias_double for some dbl-64 functions. 2017-09-29 23:54:33 +00:00
s_remquo.c Use libm_alias_double for more dbl-64 functions. 2017-10-03 17:47:35 +00:00
s_rint.c Use libm_alias_double for more dbl-64 functions. 2017-10-03 17:47:35 +00:00
s_round.c Use libm_alias_double for more dbl-64 functions. 2017-10-03 17:47:35 +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 Use libm_alias_double for dbl-64 atan, tan. 2017-10-02 23:16:56 +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 Use libm_alias_double for more dbl-64 functions. 2017-10-03 17:47:35 +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 Revert exp reimplementation (causes test failures). 2017-12-19 18:11:37 +00:00
slowpow.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
t_exp2.h
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