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-453-gf00faa4


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  f00faa4a43706d85ad8d4d2c970d3f52f0f63bfb (commit)
      from  b7519f61fe2c57981c69c0c65996968b9a4d9b62 (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=f00faa4a43706d85ad8d4d2c970d3f52f0f63bfb

commit f00faa4a43706d85ad8d4d2c970d3f52f0f63bfb
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Jun 9 18:04:30 2016 +0000

    Fix i386/x86_64 log2l (sNaN) (bug 20235).
    
    The i386/x86_64 versions of log2l return sNaN for sNaN input.  This
    patch fixes them to add NaN inputs to themselves so that qNaN is
    returned in this case.
    
    Tested for x86_64 and x86.
    
    	[BZ #20235]
    	* sysdeps/i386/fpu/e_log2l.S (__ieee754_log2l): Add NaN input to
    	itself.
    	* sysdeps/x86_64/fpu/e_log2l.S (__ieee754_log2l): Likewise.
    	* math/libm-test.inc (log2_test_data): Add sNaN tests.

diff --git a/ChangeLog b/ChangeLog
index 81192ce..c0a3278 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2016-06-09  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #20235]
+	* sysdeps/i386/fpu/e_log2l.S (__ieee754_log2l): Add NaN input to
+	itself.
+	* sysdeps/x86_64/fpu/e_log2l.S (__ieee754_log2l): Likewise.
+	* math/libm-test.inc (log2_test_data): Add sNaN tests.
+
 	[BZ #20234]
 	* sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Add positive
 	infinity or NaN input to itself.
diff --git a/math/libm-test.inc b/math/libm-test.inc
index 4371c4c..2df6f29 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -9076,6 +9076,8 @@ static const struct test_f_f_data log2_test_data[] =
     TEST_f_f (log2, plus_infty, plus_infty, ERRNO_UNCHANGED),
     TEST_f_f (log2, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
     TEST_f_f (log2, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_f_f (log2, snan_value, qnan_value, INVALID_EXCEPTION),
+    TEST_f_f (log2, -snan_value, qnan_value, INVALID_EXCEPTION),
 
     AUTO_TESTS_f_f (log2),
   };
diff --git a/sysdeps/i386/fpu/e_log2l.S b/sysdeps/i386/fpu/e_log2l.S
index 0f5f7e5..73e62ea 100644
--- a/sysdeps/i386/fpu/e_log2l.S
+++ b/sysdeps/i386/fpu/e_log2l.S
@@ -64,6 +64,7 @@ ENTRY(__ieee754_log2l)
 3:	jp	4b		// in case x is ±Inf
 	fstp	%st(1)
 	fstp	%st(1)
+	fadd	%st(0)
 	ret
 END (__ieee754_log2l)
 strong_alias (__ieee754_log2l, __log2l_finite)
diff --git a/sysdeps/x86_64/fpu/e_log2l.S b/sysdeps/x86_64/fpu/e_log2l.S
index a063255..023ec29 100644
--- a/sysdeps/x86_64/fpu/e_log2l.S
+++ b/sysdeps/x86_64/fpu/e_log2l.S
@@ -63,6 +63,7 @@ ENTRY(__ieee754_log2l)
 	jnz	4b		// in case x is ±Inf
 	fstp	%st(1)
 	fstp	%st(1)
+	fadd	%st(0)
 	ret
 END (__ieee754_log2l)
 

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

Summary of changes:
 ChangeLog                    |    6 ++++++
 math/libm-test.inc           |    2 ++
 sysdeps/i386/fpu/e_log2l.S   |    1 +
 sysdeps/x86_64/fpu/e_log2l.S |    1 +
 4 files changed, 10 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]