glibc/sysdeps/x86_64
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
..
64 x86: Consolidate unnecessary nptl/ subdirectories. 2014-06-24 19:17:43 -07:00
bits Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fpu Fix exp10 spurious underflows (bug 16560). 2014-06-25 11:33:22 +00:00
multiarch Add ifunc tests for x86_64 memset_chk and memset 2014-06-20 14:52:29 -07:00
nptl x86: Consolidate unnecessary nptl/ subdirectories. 2014-06-24 19:17:43 -07:00
x32 x86: Consolidate unnecessary nptl/ subdirectories. 2014-06-24 19:17:43 -07:00
____longjmp_chk.S ____longjmp_chk is now OS-specific. 2009-07-30 21:42:27 -07:00
__longjmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
_mcount.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
abort-instr.h Update. 2001-09-19 10:37:31 +00:00
add_n.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
addmul_1.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
backtrace.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
bsd-_setjmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
bsd-setjmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
bzero.S Make an empty file. 2007-10-16 05:59:15 +00:00
cacheinfo.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
configure Save/restore bound registers in _dl_runtime_resolve 2014-04-09 15:38:09 -07:00
configure.ac Save/restore bound registers in _dl_runtime_resolve 2014-04-09 15:38:09 -07:00
crti.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
crtn.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-irel.h Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-lookupcfg.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-machine.h Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-runtime.c * elf/dl-runtime.c (reloc_offset): Define. 2009-03-15 00:26:14 +00:00
dl-tls.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-tlsdesc.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-tlsdesc.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-trampoline.h Save/restore bound registers for _dl_runtime_profile 2014-04-16 14:46:49 -07:00
dl-trampoline.S Save/restore bound registers for _dl_runtime_profile 2014-04-16 14:46:49 -07:00
ffs.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ffsll.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
hp-timing.c Update. 2001-09-19 10:37:31 +00:00
hp-timing.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
htonl.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Implies Use x86-64 bits/byteswap.h for both i386 and x86_64 2012-05-30 14:13:18 -07:00
jmpbuf-offsets.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
jmpbuf-unwind.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
l10nflist.c Minor optimization of popcount in l10nflist 2011-08-11 14:07:04 -04:00
ldbl2mpn.c [BZ #4586] 2007-06-08 02:50:59 +00:00
ldsodefs.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
link-defines.sym Replace __int128 with __int128_t 2014-05-30 10:50:21 -07:00
locale-defines.sym Implement optimized strcaecmp for x86-64. 2010-07-30 00:14:04 -07:00
lshift.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
machine-gmon.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Makefile Save and restore AVX-512 zmm registers to x86-64 ld.so 2014-03-13 11:19:08 -07:00
memchr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memcmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memcpy_chk.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memcpy.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memmove.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mempcpy_chk.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mempcpy.S Remove bounded-pointers handling from x86_64 assembly sources. 2013-02-17 21:57:26 +00:00
memrchr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memset_chk.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memset.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memusage.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mp_clz_tab.c * sysdeps/x86_64/mp_clz_tab.c: New file. 2009-04-15 04:30:41 +00:00
mul_1.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
preconfigure rename configure.in to configure.ac 2013-10-30 17:32:08 +10:00
preconfigure.ac rename configure.in to configure.ac 2013-10-30 17:32:08 +10:00
rawmemchr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
rshift.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
rtld-memcmp.c Make sure no code in ld.so uses xmm/ymm registers on x86-64. 2009-07-26 16:10:00 -07:00
rtld-memset.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
rtld-strchr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
rtld-strlen.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sched_cpucount.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
setjmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
stack-aliasing.h Clean up stack-coloring macros. 2014-06-20 19:50:16 -07:00
stackguard-macros.h BZ #15754: CVE-2013-4788 2013-09-23 00:52:09 -04:00
stackinfo.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
start.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
stpcpy_chk.S 2004-10-15 Jakub Jelinek <jakub@redhat.com> 2004-10-18 04:17:19 +00:00
stpcpy.S Update. 2004-05-28 06:56:51 +00:00
strcasecmp_l-nonascii.c Remove pre-ISO C support 2012-01-07 23:57:22 -05:00
strcasecmp_l.S Implement optimized strcaecmp for x86-64. 2010-07-30 00:14:04 -07:00
strcasecmp.S Implement optimized strcaecmp for x86-64. 2010-07-30 00:14:04 -07:00
strcat.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strchr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strchrnul.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcpy_chk.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcpy.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcspn.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strlen.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strncase_l-nonascii.c Remove pre-ISO C support 2012-01-07 23:57:22 -05:00
strncase_l.S Add optimized strncasecmp versions for x86-64. 2010-08-14 22:04:01 -07:00
strncase.S Add optimized strncasecmp versions for x86-64. 2010-08-14 22:04:01 -07:00
strncmp.S Add SSE2 support to str{,n}cmp for x86-64. 2009-07-26 13:32:28 -07:00
strnlen.S Faster strlen on x64. 2013-03-18 07:39:12 +01:00
strpbrk.S Update. 2002-08-31 17:45:33 +00:00
strrchr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strspn.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtok_r.S Remove bounded-pointers handling from x86_64 assembly sources. 2013-02-17 21:57:26 +00:00
strtok.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sub_n.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
submul_1.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sysdep.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tls-macros.h Split tls-macros.h into sysdeps directories. 2012-07-17 11:30:58 +00:00
tlsdesc.c Factor mmap/munmap of PT_LOAD segments out of _dl_map_object_from_fd et al. 2014-04-03 10:47:14 -07:00
tlsdesc.sym Introduce TLS descriptors for i386 and x86_64. 2008-05-13 05:41:30 +00:00
tst-audit3.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-audit4.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-audit5.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-audit6.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-audit7.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-audit10.c Save and restore AVX-512 zmm registers to x86-64 ld.so 2014-03-13 11:19:08 -07:00
tst-audit.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-auditmod3a.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod3b.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod4a.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod4b.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod5a.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod5b.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod6a.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod6b.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod6c.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod7a.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod7b.c Move x86_64-specific audit tests to sysdeps/x86_64/. 2013-04-25 19:23:11 +00:00
tst-auditmod10a.c Save and restore AVX-512 zmm registers to x86-64 ld.so 2014-03-13 11:19:08 -07:00
tst-auditmod10b.c Save and restore AVX-512 zmm registers to x86-64 ld.so 2014-03-13 11:19:08 -07:00
tst-mallocalign1.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-quad1.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-quad1pie.c Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32 2012-05-10 17:05:06 -07:00
tst-quad2.c Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32 2012-05-10 17:05:06 -07:00
tst-quad2pie.c Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32 2012-05-10 17:05:06 -07:00
tst-quadmod1.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-quadmod1pie.S Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32 2012-05-10 17:05:06 -07:00
tst-quadmod2.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-quadmod2pie.S Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32 2012-05-10 17:05:06 -07:00
tst-stack-align.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Versions Work around old buggy program which cannot cope with memcpy semantics. 2011-04-01 19:38:21 -04:00
wcschr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
wcscmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
wcslen.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
wcsrchr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00