]> git.ipfire.org Git - thirdparty/glibc.git/commit
Fix i386/x86_64 log* (1) zero sign for -ffinite-math-only (bug 19213).
authorJoseph Myers <joseph@codesourcery.com>
Thu, 5 Nov 2015 21:56:31 +0000 (21:56 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 5 Nov 2015 21:56:31 +0000 (21:56 +0000)
commit01189b083b8ce54fc568fd2ab0dd433d869ede0e
tree15620545ab980f008bdec41540a43f1efea79ed0
parent939fdd1c36dde8884543bc9c3b8506e76c9ff0e4
Fix i386/x86_64 log* (1) zero sign for -ffinite-math-only (bug 19213).

For the -ffinite-math-only versions of various x86_64 and x86 log*
functions, a zero result from log* (1) is returned with incorrect sign
in round-downward mode.  This patch fixes this in a similar way to the
previous fixes for the non-*_finite versions of the functions.

Tested for x86_64 and x86 (including an i586 build), together with a
patch that will be applied separately to enable the main libm-test.inc
tests for the finite-math-only functions.

[BZ #19213]
* sysdeps/i386/fpu/e_log.S (__log_finite): Ensure +0 is always
returned for argument 1.
* sysdeps/i386/fpu/e_logf.S (__logf_finite): Likewise.
* sysdeps/i386/fpu/e_logl.S (__logl_finite): Likewise.
* sysdeps/i386/i686/fpu/e_logl.S (__logl_finite): Likewise.
* sysdeps/x86_64/fpu/e_log10l.S (__log10l_finite): Likewise.
* sysdeps/x86_64/fpu/e_log2l.S (__log2l_finite): Likewise.
* sysdeps/x86_64/fpu/e_logl.S (__logl_finite): Likewise.
ChangeLog
NEWS
sysdeps/i386/fpu/e_log.S
sysdeps/i386/fpu/e_logf.S
sysdeps/i386/fpu/e_logl.S
sysdeps/i386/i686/fpu/e_logl.S
sysdeps/x86_64/fpu/e_log10l.S
sysdeps/x86_64/fpu/e_log2l.S
sysdeps/x86_64/fpu/e_logl.S