about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-05-14 12:38:56 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-05-14 12:38:56 +0000
commit1a84c3d6d4bc43c92b6531b09d732e2e9c750dea (patch)
treef58a4fd81f814868dad8426ca0da232b618e0ac2 /ChangeLog
parent01dbacd22a8d5e0053f8d0cf13a80286b6cfe79b (diff)
downloadglibc-1a84c3d6d4bc43c92b6531b09d732e2e9c750dea.tar.gz
glibc-1a84c3d6d4bc43c92b6531b09d732e2e9c750dea.tar.xz
glibc-1a84c3d6d4bc43c92b6531b09d732e2e9c750dea.zip
Fix log1pl (LDBL_MAX) in FE_UPWARD mode (bug 16564).
Bug 16564 is spurious overflow of log1pl (LDBL_MAX) in FE_UPWARD mode,
resulting from log1pl adding 1 to its argument (for arguments not
close to 0), which overflows in that mode.  This patch fixes this by
avoiding adding 1 to large arguments (precisely what counts as large
depends on the floating-point format).

Tested x86_64 and x86, and spot-checked log1pl tests on mips64 and
powerpc64.

	[BZ #16564]
	* sysdeps/i386/fpu/s_log1pl.S (__log1pl): Do not add 1 to positive
	arguments with exponent 65 or above.
	* sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl): Do not add 1 to
	arguments 0x1p113L or above.
	* sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Do not add 1
	to arguments 0x1p107L or above.
	* sysdeps/x86_64/fpu/s_log1pl.S (__log1pl): Do not add 1 to
	positive arguments with exponent 65 or above.
	* math/auto-libm-test-in: Add more tests of log1p.
	* math/auto-libm-test-out: Regenerated.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog12
1 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 37ca8c03be..0bcf74831e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2014-05-14  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #16564]
+	* sysdeps/i386/fpu/s_log1pl.S (__log1pl): Do not add 1 to positive
+	arguments with exponent 65 or above.
+	* sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl): Do not add 1 to
+	arguments 0x1p113L or above.
+	* sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Do not add 1
+	to arguments 0x1p107L or above.
+	* sysdeps/x86_64/fpu/s_log1pl.S (__log1pl): Do not add 1 to
+	positive arguments with exponent 65 or above.
+	* math/auto-libm-test-in: Add more tests of log1p.
+	* math/auto-libm-test-out: Regenerated.
+
 	[BZ #16928]
 	* math/s_cacos.c (__cacos): Ensure zero real part of result from
 	non-finite arguments is +0.