about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-06-29 11:49:08 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-06-29 11:49:08 +0000
commitedea402804bce917cfd7cd1af76212e6364c23db (patch)
treed7688292b5b41de2f5707affccea4b992db30df2 /ChangeLog
parentdd0ba018122e88937a5f14b6594b9a40693b2e58 (diff)
downloadglibc-edea402804bce917cfd7cd1af76212e6364c23db.tar.gz
glibc-edea402804bce917cfd7cd1af76212e6364c23db.tar.xz
glibc-edea402804bce917cfd7cd1af76212e6364c23db.zip
Fix ldbl-128 powl sign of result in overflow / underflow cases (bug 17097).
This patch fixes bug 17097, ldbl-128 powl producing overflowing /
underflowing results with positive sign when the result should have
been negative.  This was shown up by the tests in non-default rounding
modes added by my patch for bug 16315, but isn't actually limited to
non-default rounding modes: rather, when rounding to nearest the
wrappers produced a result with the correct sign and so always hid the
bug unless -lieee was used to disable the wrappers.  The problem is
that in the cases where Y is large enough that the result overflows or
underflows for X not very close to 1, but not large enough to overflow
or underflow for all X != +/- 1 (in the latter case Y is always an
even integer), a positive overflowing / underflowing result is always
returned, rather than one with the correct sign.  This patch moves the
relevant part of computation of the sign earlier and returns a result
of the correct sign.

Tested for mips64.

	[BZ #17097]
	* sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Return
	result with correct sign in case of exponents that produce
	overflow except for X very close to 1.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog7
1 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 33ce8eded7..070be3c6a5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-06-29  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #17097]
+	* sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Return
+	result with correct sign in case of exponents that produce
+	overflow except for X very close to 1.
+
 2014-06-28  Paul Eggert  <eggert@cs.ucla.edu>
 
 	mktime: merge #if/#ifdef usage from glibc