diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-05-14 12:38:56 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-05-14 12:38:56 +0000 |
commit | 1a84c3d6d4bc43c92b6531b09d732e2e9c750dea (patch) | |
tree | f58a4fd81f814868dad8426ca0da232b618e0ac2 /NEWS | |
parent | 01dbacd22a8d5e0053f8d0cf13a80286b6cfe79b (diff) | |
download | glibc-1a84c3d6d4bc43c92b6531b09d732e2e9c750dea.tar.gz |
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 'NEWS')
-rw-r--r-- | NEWS | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -11,13 +11,13 @@ Version 2.20 6804, 9894, 12994, 13347, 13651, 14308, 14770, 15119, 15347, 15514, 15804, 15894, 16002, 16064, 16198, 16284, 16348, 16349, 16357, 16362, 16447, - 16516, 16532, 16545, 16574, 16599, 16600, 16609, 16610, 16611, 16613, - 16619, 16623, 16629, 16632, 16634, 16639, 16642, 16648, 16649, 16670, - 16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707, 16712, - 16713, 16714, 16731, 16739, 16740, 16743, 16754, 16758, 16759, 16760, - 16770, 16786, 16789, 16791, 16799, 16800, 16815, 16823, 16824, 16831, - 16838, 16854, 16876, 16877, 16885, 16888, 16890, 16912, 16916, 16922, - 16927, 16928, 16932. + 16516, 16532, 16545, 16564, 16574, 16599, 16600, 16609, 16610, 16611, + 16613, 16619, 16623, 16629, 16632, 16634, 16639, 16642, 16648, 16649, + 16670, 16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707, + 16712, 16713, 16714, 16731, 16739, 16740, 16743, 16754, 16758, 16759, + 16760, 16770, 16786, 16789, 16791, 16799, 16800, 16815, 16823, 16824, + 16831, 16838, 16854, 16876, 16877, 16885, 16888, 16890, 16912, 16916, + 16922, 16927, 16928, 16932. * The minimum Linux kernel version that this version of the GNU C Library can be used with is 2.6.32. |