This is an automated email from the git hooks/post-receive script. aurel32 pushed a commit to branch sid in repository glibc.
commit 9b788bdbc8023a73e4820dd16bdad277022d9bdd Author: Aurelien Jarno <[email protected]> Date: Sat Jul 2 16:52:40 2016 +0200 debian/patches/alpha/submitted-trunc.diff: new patch to fix trunc and truncf results for big values on alpha. --- debian/changelog | 2 ++ debian/patches/alpha/submitted-trunc.diff | 45 +++++++++++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 48 insertions(+) diff --git a/debian/changelog b/debian/changelog index 6c9222f..0ec6ef5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,8 @@ glibc (2.23-1) UNRELEASED; urgency=medium * debian/testsuite-xfail-debian.mk: allow math/test-double-finite and math/test-float-finite to fail on alpha, as this architecture do not fully support IEEE flags. + * debian/patches/alpha/submitted-trunc.diff: new patch to fix trunc and + truncf results for big values on alpha. [ Samuel Thibault ] * patches/hurd-i386/tg-poll_errors_fixes.diff: Update from tg branch, fixes diff --git a/debian/patches/alpha/submitted-trunc.diff b/debian/patches/alpha/submitted-trunc.diff new file mode 100644 index 0000000..7e54c40 --- /dev/null +++ b/debian/patches/alpha/submitted-trunc.diff @@ -0,0 +1,45 @@ +2016-07-02 Aurelien Jarno <[email protected]> + + * 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 30e9707..f783a71 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -40,6 +40,7 @@ alpha/local-string-functions.diff alpha/submitted-fegetenv-namespace.diff alpha/submitted-termios_h.diff alpha/submitted-fts64.diff +alpha/submitted-trunc.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

