about summary refs log tree commit diff
path: root/NEWS
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-06-21 18:43:10 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-06-21 18:43:10 +0000
commitcb0937b299182e78307795081489ec1f148bdbd7 (patch)
tree32137f8b8dde65185697602763252a45e40e8472 /NEWS
parentfea1d8d67363c8b675a4c2533769ae12dc86efff (diff)
downloadglibc-cb0937b299182e78307795081489ec1f148bdbd7.tar.gz
glibc-cb0937b299182e78307795081489ec1f148bdbd7.tar.xz
glibc-cb0937b299182e78307795081489ec1f148bdbd7.zip
Fix x86_64 / x86 expm1l (-min_subnorm) result sign (bug 18569).
In the x86 / x86_64 implementations of expm1l, when expm1l's result
should underflow to 0 (argument minus the least subnormal, in some
rounding modes), it can be a zero of the wrong sign.  This patch fixes
this by returning the argument with underflow forced in that case
(this is a 1ulp error relative to the correctly rounded result of -0,
which is OK in terms of the documented accuracy goals, whereas a
result with the wrong sign never is).

Tested for x86_64 and x86.

	[BZ #18569]
	* sysdeps/i386/fpu/e_expl.S (IEEE754_EXPL) [USE_AS_EXPM1L]: Force
	underflow and return argument in case of subnormal argument.
	* sysdeps/x86_64/fpu/e_expl.S (IEEE754_EXPL) [USE_AS_EXPM1L]:
	Likewise.
	* math/auto-libm-test-in: Add more tests of expm1.
	* math/auto-libm-test-out: Regenerated.
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS2
1 files changed, 1 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index e4a17c3b7e..90495e8e87 100644
--- a/NEWS
+++ b/NEWS
@@ -23,7 +23,7 @@ Version 2.22
   18422, 18434, 18444, 18468, 18469, 18470, 18479, 18483, 18495, 18496,
   18497, 18498, 18507, 18512, 18519, 18520, 18522, 18527, 18528, 18529,
   18530, 18532, 18533, 18534, 18536, 18539, 18540, 18542, 18544, 18545,
-  18546, 18547, 18553, 18558.
+  18546, 18547, 18553, 18558, 18569.
 
 * Cache information can be queried via sysconf() function on s390 e.g. with
   _SC_LEVEL1_ICACHE_SIZE as argument.