mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
8c6c923636
The i386 versions of acoshf and acosh raise a spurious "invalid" exception for an argument that is a quiet NaN with the sign bit set. The integer arithmetic to detect arguments < 1 also detects -NaN, and then the computation 0 / 0 in that case raises the exception. This patch fixes this by using (x - x) / (x - x) as the computation in that case instead, which will always raise the exception for non-NaN arguments reaching that code, but not for quiet NaN arguments. Tested for x86_64 and x86. [BZ #19032] * sysdeps/i386/fpu/e_acosh.S (__ieee754_acosh): For arguments < 1, compute result as (x - x) / (x - x) not as 0 / 0. * sysdeps/i386/fpu/e_acoshf.S (__ieee754_acoshf): Likewise. * math/libm-test.inc (acosh_test_data): Add another test of acosh. |
||
---|---|---|
.. | ||
fpu | ||
i586 | ||
i686 | ||
i786 | ||
nptl | ||
sys | ||
____longjmp_chk.S | ||
__longjmp.S | ||
abort-instr.h | ||
add_n.S | ||
addmul_1.S | ||
asm-syntax.h | ||
atomic-machine.h | ||
backtrace.c | ||
bcopy.S | ||
bsd-_setjmp.S | ||
bsd-setjmp.S | ||
bzero.S | ||
cacheinfo.c | ||
configure | ||
configure.ac | ||
crti.S | ||
crtn.S | ||
dl-irel.h | ||
dl-lookupcfg.h | ||
dl-machine.h | ||
dl-procinfo.c | ||
dl-procinfo.h | ||
dl-tls.h | ||
dl-tlsdesc.h | ||
dl-tlsdesc.S | ||
dl-trampoline.S | ||
ffs.c | ||
gccframe.h | ||
gmp-mparam.h | ||
htonl.S | ||
htons.S | ||
i386-mcount.S | ||
Implies | ||
init-arch.h | ||
jmpbuf-offsets.h | ||
jmpbuf-unwind.h | ||
ldbl2mpn.c | ||
ldsodefs.h | ||
link-defines.sym | ||
lshift.S | ||
machine-gmon.h | ||
Makefile | ||
memchr.S | ||
memcmp.S | ||
memcopy.h | ||
memcpy_chk.S | ||
memcpy.S | ||
memmove_chk.S | ||
memmove.S | ||
mempcpy_chk.S | ||
mempcpy.S | ||
memset_chk.S | ||
memset.S | ||
memusage.h | ||
mp_clz_tab.c | ||
mul_1.S | ||
preconfigure | ||
pthread_spin_trylock.S | ||
rawmemchr.S | ||
rshift.S | ||
setfpucw.c | ||
setjmp.S | ||
stackguard-macros.h | ||
stackinfo.h | ||
start.S | ||
stpcpy.S | ||
stpncpy.S | ||
strcat.S | ||
strchr.S | ||
strchrnul.S | ||
strcspn.S | ||
string-inlines.c | ||
strlen.c | ||
strlen.S | ||
strpbrk.S | ||
strrchr.S | ||
strspn.S | ||
strtok_r.S | ||
strtok.S | ||
sub_n.S | ||
submul_1.S | ||
sysdep.h | ||
tls-macros.h | ||
tlsdesc.c | ||
tlsdesc.sym | ||
tst-audit3.c | ||
tst-audit3.h | ||
tst-audit.h | ||
tst-auditmod3a.c | ||
tst-auditmod3b.c | ||
tst-ld-sse-use.sh | ||
tst-stack-align.h | ||
Versions |