This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.23-443-g8c010e2


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  8c010e2f7135902b6dc90f0577573dacbb54cde9 (commit)
      from  09096b36152dca599ca781b7299d0d662ca74ce7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8c010e2f7135902b6dc90f0577573dacbb54cde9

commit 8c010e2f7135902b6dc90f0577573dacbb54cde9
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Jun 8 23:11:42 2016 +0000

    Fix i386/x86_64 log1pl (sNaN) (bug 20229).
    
    The i386/x86_64 versions of log1pl return sNaN for sNaN input.  This
    patch fixes them to add a NaN input to itself so that qNaN is returned
    in this case.
    
    Tested for x86_64 and x86.
    
    	[BZ #20229]
    	* sysdeps/i386/fpu/s_log1pl.S (__log1pl): Add NaN input to itself.
    	* sysdeps/x86_64/fpu/s_log1pl.S (__log1pl): Likewise.
    	* math/libm-test.inc (log1p_test_data): Add sNaN tests.

diff --git a/ChangeLog b/ChangeLog
index 42d296c..12ac302 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2016-06-08  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #20229]
+	* sysdeps/i386/fpu/s_log1pl.S (__log1pl): Add NaN input to itself.
+	* sysdeps/x86_64/fpu/s_log1pl.S (__log1pl): Likewise.
+	* math/libm-test.inc (log1p_test_data): Add sNaN tests.
+
 	[BZ #20228]
 	* sysdeps/i386/fpu/e_log10l.S (__ieee754_log10l): Add NaN input to
 	itself.
diff --git a/math/libm-test.inc b/math/libm-test.inc
index e2a4ed3..4371c4c 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -9049,6 +9049,8 @@ static const struct test_f_f_data log1p_test_data[] =
     TEST_f_f (log1p, plus_infty, plus_infty, ERRNO_UNCHANGED),
     TEST_f_f (log1p, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
     TEST_f_f (log1p, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_f_f (log1p, snan_value, qnan_value, INVALID_EXCEPTION),
+    TEST_f_f (log1p, -snan_value, qnan_value, INVALID_EXCEPTION),
 
     AUTO_TESTS_f_f (log1p),
   };
diff --git a/sysdeps/i386/fpu/s_log1pl.S b/sysdeps/i386/fpu/s_log1pl.S
index 98965fa..0fd05cb 100644
--- a/sysdeps/i386/fpu/s_log1pl.S
+++ b/sysdeps/i386/fpu/s_log1pl.S
@@ -70,6 +70,7 @@ ENTRY(__log1pl)
 3:	jp	4b		// in case x is ±Inf
 	fstp	%st(1)
 	fstp	%st(1)
+	fadd	%st(0)
 	ret
 
 END (__log1pl)
diff --git a/sysdeps/x86_64/fpu/s_log1pl.S b/sysdeps/x86_64/fpu/s_log1pl.S
index e83f64d..947e5e4 100644
--- a/sysdeps/x86_64/fpu/s_log1pl.S
+++ b/sysdeps/x86_64/fpu/s_log1pl.S
@@ -68,6 +68,7 @@ ENTRY(__log1pl)
 	jnz	4b		// in case x is ±Inf
 	fstp	%st(1)
 	fstp	%st(1)
+	fadd	%st(0)
 	ret
 
 END (__log1pl)

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                     |    5 +++++
 math/libm-test.inc            |    2 ++
 sysdeps/i386/fpu/s_log1pl.S   |    1 +
 sysdeps/x86_64/fpu/s_log1pl.S |    1 +
 4 files changed, 9 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]