glibc/sysdeps
Joseph Myers a638de828d Fix exp10 spurious underflows (bug 16560).
This patch fixes spurious underflows from exp10 for arguments near 0
(part of bug 16560; that bug also includes spurious underflows from
exp2, which are not fixed by this patch).  The problem is underflows
in the internal computation converting the exp10 argument to arguments
for exp (with extra precision), and the fix is simply to return 1
early for arguments near enough to 0 (just as arguments with large
enough magnitude have their own overflow / underflow logic at the
start of the function).

Tested x86_64 and x86 and ulps updated accordingly; also tested for
powerpc32 and mips64 to validate the ldbl-128ibm and ldbl-128 changes.

	[BZ #16560]
	* sysdeps/ieee754/dbl-64/e_exp10.c (__ieee754_exp10): Return 1 for
	arguments close to 0.
	* sysdeps/ieee754/ldbl-128/e_exp10l.c (__ieee754_exp10l):
	Likewise.
	* sysdeps/ieee754/ldbl-128ibm/e_exp10l.c (__ieee754_exp10l):
	Likewise.
	* math/auto-libm-test-in: Add more tests of exp10.
	* math/auto-libm-test-out: Regenerated.
	* sysdeps/x86_64/fpu/libm-test-ulps: Update.
2014-06-25 11:33:22 +00:00
..
aarch64 [AArch64] Add optimized strchr. 2014-06-19 11:03:59 +01:00
alpha Alpha: Define TLS_DEFINE_INIT_TP 2014-06-11 12:23:35 -07:00
arm Optimize fesetenv 2014-06-24 15:05:23 +00:00
generic Add missing #include in get-rounding-mode.h 2014-06-23 14:07:59 -07:00
gnu Silence a missing-noreturn warning for _Unwind_Resume. 2014-05-09 10:06:20 -07:00
hppa HPPA: Define TLS_DEFINE_INIT_TP 2014-06-09 14:04:45 -07:00
i386 Add compat symbols for scalb* in i386 2014-06-25 08:47:13 +05:30
ia64 [BZ #6803] Set errno for scalbln, scalbn 2014-06-20 07:48:20 +05:30
ieee754 Fix exp10 spurious underflows (bug 16560). 2014-06-25 11:33:22 +00:00
init_array Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
m68k m68k: Add compat symbols for scalbln* 2014-06-25 09:38:09 +02:00
mach Remove second argument from TLS_INIT_TP macro 2014-05-27 14:48:46 +02:00
microblaze Remove second argument from TLS_INIT_TP macro 2014-05-27 14:48:46 +02:00
mips MIPS: Move NPTL public headers to sysdeps/mips/nptl/. 2014-06-23 09:25:41 -07:00
nptl Add adaptive elision to rwlocks 2014-06-13 13:15:28 -07:00
posix sysdeps/posix/tempname.c: Merge from gnulib 2014-06-25 10:52:51 +01:00
powerpc PowerPC: sync hwcap.h capabilities 2014-06-23 09:40:05 -05:00
pthread Use list.h in posix-timer code. 2014-06-12 14:17:14 -07:00
s390 Use $(rtld-prefix) more consistently. 2014-06-18 10:35:29 +00:00
sh Include <kernel-features.h> explicitly where required. 2014-06-20 23:24:00 +00:00
sparc Missing new file from last commit. 2014-06-20 17:27:16 -07:00
tile Add adaptive elision to rwlocks 2014-06-13 13:15:28 -07:00
unix Remove __ASSUME_COMPLETE_READV_WRITEV. 2014-06-25 11:31:51 +00:00
wordsize-32 Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
wordsize-64 Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
x86 x86: Consolidate unnecessary nptl/ subdirectories. 2014-06-24 19:17:43 -07:00
x86_64 Fix exp10 spurious underflows (bug 16560). 2014-06-25 11:33:22 +00:00