[valgrind] Add valgrind-3.10.0-aarch64-frint.patch

Mark Wielaard mjw at fedoraproject.org
Tue Nov 4 23:05:16 UTC 2014


commit 552fff6bb32ec9873feba5aa67007d6d8cbcdb7a
Author: Mark Wielaard <mjw at redhat.com>
Date:   Tue Nov 4 23:30:07 2014 +0100

    Add valgrind-3.10.0-aarch64-frint.patch

 valgrind-3.10.0-aarch64-frint.patch |   33 +++++++++++++++++++++++++++++++++
 valgrind.spec                       |    5 +++++
 2 files changed, 38 insertions(+), 0 deletions(-)
---
diff --git a/valgrind-3.10.0-aarch64-frint.patch b/valgrind-3.10.0-aarch64-frint.patch
new file mode 100644
index 0000000..41b67bb
--- /dev/null
+++ b/valgrind-3.10.0-aarch64-frint.patch
@@ -0,0 +1,33 @@
+commit 35343350beb699e87bae86a5466895de6d9827e9
+Author: sewardj <sewardj at 8f6e269a-dfd6-0310-a8e1-e2731360e62c>
+Date:   Thu Oct 30 15:37:16 2014 +0000
+
+    Implement frintx d_d and s_s.  Fixes #339926.
+    
+    
+    git-svn-id: svn://svn.valgrind.org/vex/trunk@2981 8f6e269a-dfd6-0310-a8e1-e2731360e62c
+
+diff --git a/VEX/priv/guest_arm64_toIR.c b/VEX/priv/guest_arm64_toIR.c
+index 7f22f13..0377139 100644
+--- a/VEX/priv/guest_arm64_toIR.c
++++ b/VEX/priv/guest_arm64_toIR.c
+@@ -11921,7 +11921,7 @@ Bool dis_AdvSIMD_fp_data_proc_1_source(/*MB_OUT*/DisResult* dres, UInt insn)
+             011 zero      (FRINTZ)
+             000 tieeven
+             100 tieaway   (FRINTA) -- !! FIXME KLUDGED !!
+-            110 per FPCR + "exact = TRUE"
++            110 per FPCR + "exact = TRUE" (FRINTX)
+             101 unallocated
+       */
+       Bool    isD   = (ty & 1) == 1;
+@@ -11935,6 +11935,10 @@ Bool dis_AdvSIMD_fp_data_proc_1_source(/*MB_OUT*/DisResult* dres, UInt insn)
+          case BITS3(0,0,1): ch = 'p'; irrmE = mkU32(Irrm_PosINF); break;
+          // The following is a kludge.  Should be: Irrm_NEAREST_TIE_AWAY_0
+          case BITS3(1,0,0): ch = 'a'; irrmE = mkU32(Irrm_NEAREST); break;
++         // I am unsure about the following, due to the "integral exact"
++         // description in the manual.  What does it mean?
++         case BITS3(1,1,0):
++            ch = 'x'; irrmE = mkexpr(mk_get_IR_rounding_mode()); break;
+          default: break;
+       }
+       if (irrmE) {
diff --git a/valgrind.spec b/valgrind.spec
index e68967b..87424f4 100644
--- a/valgrind.spec
+++ b/valgrind.spec
@@ -73,6 +73,9 @@ Patch6: valgrind-3.10.0-aarch64-syscalls.patch
 # KDE#339858 arm64 recognize dmb sy. Data Memory Barrier full SYstem variant.
 Patch7: valgrind-3.10.0-aarch64-dmb-sy.patch
 
+# KDE#339926 Implement frintx d_d and s_s.
+Patch8: valgrind-3.10.0-aarch64-frint.patch
+
 %if %{build_multilib}
 # Ensure glibc{,-devel} is installed for both multilib arches
 BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
@@ -178,6 +181,7 @@ Valgrind User Manual for details.
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
+%patch8 -p1
 
 %build
 # We need to use the software collection compiler and binutils if available.
@@ -332,6 +336,7 @@ echo ===============END TESTING===============
   into valgrind-3.10.0-aarch64-syscalls.patch
   add fdatasync, msync, pread64, setreuid, setregid,
   mknodat, fchdir, chroot, fchownat, fchmod and fchown.
+- Add valgrind-3.10.0-aarch64-frint.patch
 
 * Sat Oct 11 2014 Mark Wielaard <mjw at redhat.com> - 3.10.0-4
 - Add valgrind-3.10.0-aarch64-times.patch


More information about the scm-commits mailing list