[glibc] 01/01: Replace debian/patches/alpha/submitted-trunc.diff by debian/patches/alpha/submitted-math-fixes.diff containing additional math fixes.
This is an automated email from the git hooks/post-receive script.
aurel32 pushed a commit to branch glibc-2.24
in repository glibc.
commit f9d0b8e1fbb18c3d198bf836da72f33dd59fcef3
Author: Aurelien Jarno <aurelien@aurel32.net>
Date: Sun Jul 10 13:48:07 2016 +0200
Replace debian/patches/alpha/submitted-trunc.diff by debian/patches/alpha/submitted-math-fixes.diff containing additional math fixes.
---
debian/changelog | 3 +
debian/patches/alpha/submitted-math-fixes.diff | 173 +++++++++++++++++++++++++
debian/patches/alpha/submitted-trunc.diff | 45 -------
debian/patches/series | 2 +-
4 files changed, 177 insertions(+), 46 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 3e1c407..1b07a2d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -20,6 +20,9 @@ glibc (2.23.90+20160507.87523e9-2) UNRELEASED; urgency=medium
mostly due to the fsid_t type, and which are not regressions.
* testsuite-xfail-debian.mk: Update x32 testsuite results, no actual
regression.
+ * Replace debian/patches/alpha/submitted-trunc.diff by
+ debian/patches/alpha/submitted-math-fixes.diff containing additional
+ math fixes.
-- Aurelien Jarno <aurel32@debian.org> Tue, 05 Jul 2016 20:50:17 +0200
diff --git a/debian/patches/alpha/submitted-math-fixes.diff b/debian/patches/alpha/submitted-math-fixes.diff
new file mode 100644
index 0000000..ef7247a
--- /dev/null
+++ b/debian/patches/alpha/submitted-math-fixes.diff
@@ -0,0 +1,173 @@
+2016-07-10 Aurelien Jarno <aurelien@aurel32.net>
+
+ * sysdeps/alpha/fpu/s_ceil.c (__ceil): Add argument with itself
+ when it is a NaN.
+ [_IEEE_FP_INEXACT] Remove.
+ * sysdeps/alpha/fpu/s_ceilf.c (__ceilf): Likewise.
+ * sysdeps/alpha/fpu/s_floor.c (__floor): Add argument with itself
+ when it is a NaN.
+ [_IEEE_FP_INEXACT] Remove.
+ * sysdeps/alpha/fpu/s_floorf.c (__floorf): Likewise.
+ * sysdeps/alpha/fpu/s_rint.c (__rint): Add argument with itself
+ when it is a NaN.
+ * sysdeps/alpha/fpu/s_rintf.c (__rintf): Likewise.
+ * sysdeps/alpha/fpu/s_trunc.c (__trunc): Return the input value
+ when its absolute value is greater than 0x1.0p52.
+ [_IEEE_FP_INEXACT] Remove.
+ * sysdeps/alpha/fpu/s_truncf.c (__truncf): Return the input value
+ when its absolute value is greater than 0x1.0p23.
+ [_IEEE_FP_INEXACT] Remove.
+
+--- a/sysdeps/alpha/fpu/s_ceil.c
++++ b/sysdeps/alpha/fpu/s_ceil.c
+@@ -26,17 +26,16 @@
+ double
+ __ceil (double x)
+ {
++ if (isnan (x))
++ return x + x;
++
+ if (isless (fabs (x), 9007199254740992.0)) /* 1 << DBL_MANT_DIG */
+ {
+ double tmp1, new_x;
+
+ new_x = -x;
+ __asm (
+-#ifdef _IEEE_FP_INEXACT
+- "cvttq/svim %2,%1\n\t"
+-#else
+ "cvttq/svm %2,%1\n\t"
+-#endif
+ "cvtqt/m %1,%0\n\t"
+ : "=f"(new_x), "=&f"(tmp1)
+ : "f"(new_x));
+--- a/sysdeps/alpha/fpu/s_ceilf.c
++++ b/sysdeps/alpha/fpu/s_ceilf.c
+@@ -25,6 +25,9 @@
+ float
+ __ceilf (float x)
+ {
++ if (isnanf (x))
++ return x + x;
++
+ if (isless (fabsf (x), 16777216.0f)) /* 1 << FLT_MANT_DIG */
+ {
+ /* Note that Alpha S_Floating is stored in registers in a
+@@ -36,11 +39,7 @@ __ceilf (float x)
+
+ new_x = -x;
+ __asm ("cvtst/s %3,%2\n\t"
+-#ifdef _IEEE_FP_INEXACT
+- "cvttq/svim %2,%1\n\t"
+-#else
+ "cvttq/svm %2,%1\n\t"
+-#endif
+ "cvtqt/m %1,%0\n\t"
+ : "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2)
+ : "f"(new_x));
+--- a/sysdeps/alpha/fpu/s_floor.c
++++ b/sysdeps/alpha/fpu/s_floor.c
+@@ -27,16 +27,15 @@
+ double
+ __floor (double x)
+ {
++ if (isnan (x))
++ return x + x;
++
+ if (isless (fabs (x), 9007199254740992.0)) /* 1 << DBL_MANT_DIG */
+ {
+ double tmp1, new_x;
+
+ __asm (
+-#ifdef _IEEE_FP_INEXACT
+- "cvttq/svim %2,%1\n\t"
+-#else
+ "cvttq/svm %2,%1\n\t"
+-#endif
+ "cvtqt/m %1,%0\n\t"
+ : "=f"(new_x), "=&f"(tmp1)
+ : "f"(x));
+--- a/sysdeps/alpha/fpu/s_floorf.c
++++ b/sysdeps/alpha/fpu/s_floorf.c
+@@ -26,6 +26,9 @@
+ float
+ __floorf (float x)
+ {
++ if (isnanf (x))
++ return x + x;
++
+ if (isless (fabsf (x), 16777216.0f)) /* 1 << FLT_MANT_DIG */
+ {
+ /* Note that Alpha S_Floating is stored in registers in a
+@@ -36,11 +39,7 @@ __floorf (float x)
+ float tmp1, tmp2, new_x;
+
+ __asm ("cvtst/s %3,%2\n\t"
+-#ifdef _IEEE_FP_INEXACT
+- "cvttq/svim %2,%1\n\t"
+-#else
+ "cvttq/svm %2,%1\n\t"
+-#endif
+ "cvtqt/m %1,%0\n\t"
+ : "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2)
+ : "f"(x));
+--- a/sysdeps/alpha/fpu/s_rint.c
++++ b/sysdeps/alpha/fpu/s_rint.c
+@@ -23,6 +23,9 @@
+ double
+ __rint (double x)
+ {
++ if (isnan (x))
++ return x + x;
++
+ if (isless (fabs (x), 9007199254740992.0)) /* 1 << DBL_MANT_DIG */
+ {
+ double tmp1, new_x;
+--- a/sysdeps/alpha/fpu/s_rintf.c
++++ b/sysdeps/alpha/fpu/s_rintf.c
+@@ -22,6 +22,9 @@
+ float
+ __rintf (float x)
+ {
++ if (isnanf (x))
++ return x + x;
++
+ if (isless (fabsf (x), 16777216.0f)) /* 1 << FLT_MANT_DIG */
+ {
+ /* Note that Alpha S_Floating is stored in registers in a
+--- a/sysdeps/alpha/fpu/s_trunc.c
++++ b/sysdeps/alpha/fpu/s_trunc.c
+@@ -28,12 +28,11 @@ __trunc (double x)
+ double two52 = copysign (0x1.0p52, x);
+ double r, tmp;
+
++ if (isgreaterequal (fabs (x), 0x1.0p52))
++ return x;
++
+ __asm (
+-#ifdef _IEEE_FP_INEXACT
+- "addt/suic %2, %3, %1\n\tsubt/suic %1, %3, %0"
+-#else
+ "addt/suc %2, %3, %1\n\tsubt/suc %1, %3, %0"
+-#endif
+ : "=&f"(r), "=&f"(tmp)
+ : "f"(x), "f"(two52));
+
+--- a/sysdeps/alpha/fpu/s_truncf.c
++++ b/sysdeps/alpha/fpu/s_truncf.c
+@@ -27,12 +27,11 @@ __truncf (float x)
+ float two23 = copysignf (0x1.0p23, x);
+ float r, tmp;
+
++ if (isgreaterequal (fabsf (x), 0x1.0p23))
++ return x;
++
+ __asm (
+-#ifdef _IEEE_FP_INEXACT
+- "adds/suic %2, %3, %1\n\tsubs/suic %1, %3, %0"
+-#else
+ "adds/suc %2, %3, %1\n\tsubs/suc %1, %3, %0"
+-#endif
+ : "=&f"(r), "=&f"(tmp)
+ : "f"(x), "f"(two23));
+
diff --git a/debian/patches/alpha/submitted-trunc.diff b/debian/patches/alpha/submitted-trunc.diff
deleted file mode 100644
index 7e54c40..0000000
--- a/debian/patches/alpha/submitted-trunc.diff
+++ /dev/null
@@ -1,45 +0,0 @@
-2016-07-02 Aurelien Jarno <aurelien@aurel32.net>
-
- * sysdeps/alpha/fpu/s_truncf.c (__truncf): Return the input value
- when its absolute value is greater than 0x1.0p23.
- [_IEEE_FP_INEXACT] Remove.
- * sysdeps/alpha/fpu/s_trunc.c (__trunc): Return the input value
- when its absolute value is greater than 0x1.0p52.
- [_IEEE_FP_INEXACT] Remove.
-
---- a/sysdeps/alpha/fpu/s_trunc.c
-+++ b/sysdeps/alpha/fpu/s_trunc.c
-@@ -28,12 +28,11 @@ __trunc (double x)
- double two52 = copysign (0x1.0p52, x);
- double r, tmp;
-
-+ if (!isnan(x) && fabs(x) >= 0x1.0p52)
-+ return x;
-+
- __asm (
--#ifdef _IEEE_FP_INEXACT
-- "addt/suic %2, %3, %1\n\tsubt/suic %1, %3, %0"
--#else
- "addt/suc %2, %3, %1\n\tsubt/suc %1, %3, %0"
--#endif
- : "=&f"(r), "=&f"(tmp)
- : "f"(x), "f"(two52));
-
---- a/sysdeps/alpha/fpu/s_truncf.c
-+++ b/sysdeps/alpha/fpu/s_truncf.c
-@@ -27,12 +27,11 @@ __truncf (float x)
- float two23 = copysignf (0x1.0p23, x);
- float r, tmp;
-
-+ if (!isnan(x) && fabs(x) >= 0x1.0p23)
-+ return x;
-+
- __asm (
--#ifdef _IEEE_FP_INEXACT
-- "adds/suic %2, %3, %1\n\tsubs/suic %1, %3, %0"
--#else
- "adds/suc %2, %3, %1\n\tsubs/suc %1, %3, %0"
--#endif
- : "=&f"(r), "=&f"(tmp)
- : "f"(x), "f"(two23));
-
diff --git a/debian/patches/series b/debian/patches/series
index e6abc36..214ff94 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -37,7 +37,7 @@ alpha/local-string-functions.diff
alpha/submitted-fegetenv-namespace.diff
alpha/submitted-termios_h.diff
alpha/submitted-fts64.diff
-alpha/submitted-trunc.diff
+alpha/submitted-math-fixes.diff
amd64/local-blacklist-for-Intel-TSX.diff
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git
Reply to: