[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[glibc] 01/01: debian/patches/sparc/cvs-sparc-nearbyint.diff: new patch from upstream to fix nearbyint* functions with a sNaN input on SPARC.



This is an automated email from the git hooks/post-receive script.

aurel32 pushed a commit to branch sid
in repository glibc.

commit b96a99b92c3524628721fa588fba4b78db9a6e0e
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Fri Jul 1 17:29:55 2016 +0200

    debian/patches/sparc/cvs-sparc-nearbyint.diff: new patch from upstream to fix nearbyint* functions with a sNaN input on SPARC.
---
 debian/changelog                              |  2 +
 debian/patches/series                         |  1 +
 debian/patches/sparc/cvs-sparc-nearbyint.diff | 96 +++++++++++++++++++++++++++
 3 files changed, 99 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index b9b7249..efeb53b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,8 @@ glibc (2.23-1) UNRELEASED; urgency=medium
     entry.  Closes: #829093.
   * debian/testsuite-xfail-debian.mk: allow malloc/tst-mallocfork2 to fail
     on hurd-i386, this is not a regression but a new test.
+  * debian/patches/sparc/cvs-sparc-nearbyint.diff: new patch from upstream
+    to fix nearbyint* functions with a sNaN input on SPARC.
 
  -- Aurelien Jarno <aurel32@debian.org>  Fri, 01 Jul 2016 00:17:12 +0200
 
diff --git a/debian/patches/series b/debian/patches/series
index e50e161..30e9707 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -179,6 +179,7 @@ sh4/local-fpscr_values.diff
 
 sparc/local-sparcv9-target.diff
 sparc/submitted-sparc64-socketcall.diff
+sparc/cvs-sparc-nearbyint.diff
 
 all/local-alias-et_EE.diff
 all/local-remove-manual.diff
diff --git a/debian/patches/sparc/cvs-sparc-nearbyint.diff b/debian/patches/sparc/cvs-sparc-nearbyint.diff
new file mode 100644
index 0000000..6897022
--- /dev/null
+++ b/debian/patches/sparc/cvs-sparc-nearbyint.diff
@@ -0,0 +1,96 @@
+2016-07-01  Aurelien Jarno  <aurelien@aurel32.net>
+
+	* sparc/sparc32/sparcv9/fpu/s_nearbyint.S (__nearbyint): Trigger an
+	invalid exception for a sNaN input.
+	* sparc/sparc32/sparcv9/fpu/s_nearbyintf.S (__nearbyintf): Likewise.
+	* sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint-vis3.S
+	(__nearbyint_vis3): Likewise
+	* sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf-vis3.S
+	(__nearbyintf_vis3): Likewise
+	* sparc/sparc64/fpu/s_nearbyint.S (__nearbyint): Likewise.
+	* sparc/sparc64/fpu/s_nearbyintf.S (__nearbyintf): Likewise.
+	* sparc/sparc64/fpu/multiarch/s_nearbyint-vis3.S (__nearbyint_vis3):
+	Likewise.
+	* sparc/sparc64/fpu/multiarch/s_nearbyintf-vis3.S (__nearbyintf_vis3):
+	Likewise.
+
+--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint-vis3.S
++++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyint-vis3.S
+@@ -36,6 +36,7 @@
+ #define SIGN_BIT	%f12			/* -0.0 */
+ 
+ ENTRY (__nearbyint_vis3)
++	fcmpd	%fcc3, %f0, %f0			/* Check for sNaN */
+ 	st	%fsr, [%sp + 88]
+ 	sethi	%hi(TWO_FIFTYTWO), %o2
+ 	sethi	%hi(0xf8003e0), %o5
+--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf-vis3.S
++++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_nearbyintf-vis3.S
+@@ -35,6 +35,7 @@
+ #define SIGN_BIT	%f12			/* -0.0 */
+ 
+ ENTRY (__nearbyintf_vis3)
++	fcmps	%fcc3, %f1, %f1			/* Check for sNaN */
+ 	st	%fsr, [%sp + 88]
+ 	movwtos	%o0, %f1
+ 	sethi	%hi(TWO_TWENTYTHREE), %o2
+--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S
++++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyint.S
+@@ -36,6 +36,7 @@
+ #define SIGN_BIT	%f12			/* -0.0 */
+ 
+ ENTRY (__nearbyint)
++	fcmpd	%fcc3, %f0, %f0			/* Check for sNaN */
+ 	st	%fsr, [%sp + 88]
+ 	sethi	%hi(TWO_FIFTYTWO), %o2
+ 	sethi	%hi(0xf8003e0), %o5
+--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S
++++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_nearbyintf.S
+@@ -35,6 +35,7 @@
+ #define SIGN_BIT	%f12			/* -0.0 */
+ 
+ ENTRY (__nearbyintf)
++	fcmps	%fcc3, %f1, %f1			/* Check for sNaN */
+ 	st	%fsr, [%sp + 88]
+ 	st	%o0, [%sp + 68]
+ 	sethi	%hi(TWO_TWENTYTHREE), %o2
+--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-vis3.S
++++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyint-vis3.S
+@@ -35,6 +35,7 @@
+ #define SIGN_BIT	%f12			/* -0.0 */
+ 
+ ENTRY (__nearbyint_vis3)
++	fcmpd	%fcc3, %f0, %f0			/* Check for sNaN */
+ 	stx	%fsr, [%sp + STACK_BIAS + 144]
+ 	sethi	%hi(TWO_FIFTYTWO), %o2
+ 	sllx	%o2, 32, %o2
+--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-vis3.S
++++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_nearbyintf-vis3.S
+@@ -35,6 +35,7 @@
+ #define SIGN_BIT	%f12			/* -0.0 */
+ 
+ ENTRY (__nearbyintf_vis3)
++	fcmps	%fcc3, %f1, %f1			/* Check for sNaN */
+ 	stx	%fsr, [%sp + STACK_BIAS + 144]
+ 	sethi	%hi(0xf8003e0), %o5
+ 	sethi	%hi(TWO_TWENTYTHREE), %o2
+--- a/sysdeps/sparc/sparc64/fpu/s_nearbyint.S
++++ b/sysdeps/sparc/sparc64/fpu/s_nearbyint.S
+@@ -35,6 +35,7 @@
+ #define SIGN_BIT	%f12			/* -0.0 */
+ 
+ ENTRY (__nearbyint)
++	fcmpd	%fcc3, %f0, %f0			/* Check for sNaN */
+ 	stx	%fsr, [%sp + STACK_BIAS + 144]
+ 	sethi	%hi(TWO_FIFTYTWO), %o2
+ 	sllx	%o2, 32, %o2
+--- a/sysdeps/sparc/sparc64/fpu/s_nearbyintf.S
++++ b/sysdeps/sparc/sparc64/fpu/s_nearbyintf.S
+@@ -35,6 +35,7 @@
+ #define SIGN_BIT	%f12			/* -0.0 */
+ 
+ ENTRY (__nearbyintf)
++	fcmps	%fcc3, %f1, %f1			/* Check for sNaN */
+ 	stx	%fsr, [%sp + STACK_BIAS + 144]
+ 	sethi	%hi(0xf8003e0), %o5
+ 	sethi	%hi(TWO_TWENTYTHREE), %o2

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git


Reply to: