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-438-g40720ec


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  40720ec9f98d57214d73d6fa98019e684f2eb45a (commit)
      from  c867597bff2562180a18da4b8dba89d24e8b65c4 (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=40720ec9f98d57214d73d6fa98019e684f2eb45a

commit 40720ec9f98d57214d73d6fa98019e684f2eb45a
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Jun 8 21:02:40 2016 +0000

    Fix i386 cbrtl (sNaN) (bug 20224).
    
    The i386 version of cbrtl returns sNaN (without raising any
    exceptions) for sNaN input.  This patch fixes it to add non-finite
    arguments to themselves (the code path in question is also reached for
    zero arguments, for which adding them to themselves is also harmless),
    so that "invalid" is raised and qNaN returned.
    
    Tested for x86_64 and x86.
    
    	[BZ #20224]
    	* sysdeps/i386/fpu/s_cbrtl.S (__cbrtl): Add non-finite or zero
    	argument to itself.
    	* math/libm-test.inc (cbrt_test_data): Add sNaN tests.

diff --git a/ChangeLog b/ChangeLog
index 20e2139..2015168 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-06-08  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #20224]
+	* sysdeps/i386/fpu/s_cbrtl.S (__cbrtl): Add non-finite or zero
+	argument to itself.
+	* math/libm-test.inc (cbrt_test_data): Add sNaN tests.
+
 2016-06-08  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #19776]
diff --git a/math/libm-test.inc b/math/libm-test.inc
index 7913f44..520f141 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -5875,6 +5875,8 @@ static const struct test_f_f_data cbrt_test_data[] =
     TEST_f_f (cbrt, minus_infty, minus_infty, ERRNO_UNCHANGED),
     TEST_f_f (cbrt, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
     TEST_f_f (cbrt, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_f_f (cbrt, snan_value, qnan_value, INVALID_EXCEPTION),
+    TEST_f_f (cbrt, -snan_value, qnan_value, INVALID_EXCEPTION),
 
     AUTO_TESTS_f_f (cbrt),
   };
diff --git a/sysdeps/i386/fpu/s_cbrtl.S b/sysdeps/i386/fpu/s_cbrtl.S
index 3bf1700..6a64313 100644
--- a/sysdeps/i386/fpu/s_cbrtl.S
+++ b/sysdeps/i386/fpu/s_cbrtl.S
@@ -223,6 +223,7 @@ ENTRY(__cbrtl)
 
 	/* Return the argument.  */
 1:	fldt	4(%esp)
+	fadd	%st
 	ret
 END(__cbrtl)
 weak_alias (__cbrtl, cbrtl)

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

Summary of changes:
 ChangeLog                  |    7 +++++++
 math/libm-test.inc         |    2 ++
 sysdeps/i386/fpu/s_cbrtl.S |    1 +
 3 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]