From: Joseph Myers Date: Thu, 21 Jun 2012 19:26:09 +0000 (+0000) Subject: Fix wordsize-64 cosh regression (bug 14273). X-Git-Tag: glibc-2.16-tps~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b7abb4bf78443f4f8d05a9dfa768fdee65b99d42;p=thirdparty%2Fglibc.git Fix wordsize-64 cosh regression (bug 14273). --- diff --git a/ChangeLog b/ChangeLog index a754fef619c..f9ccbe6e3bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2012-06-21 Joseph Myers + [BZ #14273] + * sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c (__ieee754_cosh): + Clear sign bit of 64-bit integer value before comparing against + overflow value. + * sysdeps/mach/configure: Regenerated. 2012-06-21 H.J. Lu diff --git a/NEWS b/NEWS index b5edb990ed6..8797a6bae70 100644 --- a/NEWS +++ b/NEWS @@ -30,7 +30,7 @@ Version 2.16 13983, 13986, 13996, 14012, 14027, 14033, 14034, 14036, 14040, 14043, 14044, 14048, 14049, 14050, 14053, 14055, 14059, 14064, 14075, 14080, 14083, 14103, 14104, 14109, 14112, 14117, 14122, 14123, 14134, 14153, - 14183, 14188, 14199, 14210, 14218, 14229, 14241, 14278 + 14183, 14188, 14199, 14210, 14218, 14229, 14241, 14273, 14278 * Support for the x32 ABI on x86-64 added. The x32 target is selected by configuring glibc with: diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c b/sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c index b8ab7483042..84593521ccf 100644 --- a/sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c +++ b/sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c @@ -67,6 +67,7 @@ __ieee754_cosh (double x) /* |x| in [log(maxdouble), overflowthresold] */ int64_t fix; EXTRACT_WORDS64(fix, x); + fix &= UINT64_C(0x7fffffffffffffff); if (fix <= UINT64_C(0x408633ce8fb9f87d)) { w = __ieee754_exp(half*fabs(x)); t = half*w;