From 982608755ec1c4655881e1367b62f120caccedfb Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Feb 18 2017 13:39:44 +0000 Subject: Add valgrind-3.12.0-arm64-hint.patch --- diff --git a/valgrind-3.12.0-arm64-hint.patch b/valgrind-3.12.0-arm64-hint.patch new file mode 100644 index 0000000..561444f --- /dev/null +++ b/valgrind-3.12.0-arm64-hint.patch @@ -0,0 +1,33 @@ +commit cd685e0ff55060e9ec341c86b23c6dbb2d3127f4 +Author: tom +Date: Sat Feb 11 10:44:29 2017 +0000 + + Handle unknown HINT instructions on aarch64 by ignoring them. BZ#376279. + + + git-svn-id: svn://svn.valgrind.org/vex/trunk@3302 8f6e269a-dfd6-0310-a8e1-e2731360e62c + +diff --git a/VEX/priv/guest_arm64_toIR.c b/VEX/priv/guest_arm64_toIR.c +index e527447..484a26e 100644 +--- a/VEX/priv/guest_arm64_toIR.c ++++ b/VEX/priv/guest_arm64_toIR.c +@@ -7022,6 +7022,19 @@ Bool dis_ARM64_branch_etc(/*MB_OUT*/DisResult* dres, UInt insn, + return True; + } + ++ /* -------------------- HINT ------------------- */ ++ /* 31 23 15 11 4 3 ++ 1101 0101 0000 0011 0010 imm7 1 1111 ++ */ ++ if (INSN(31,24) == BITS8(1,1,0,1,0,1,0,1) ++ && INSN(23,16) == BITS8(0,0,0,0,0,0,1,1) ++ && INSN(15,12) == BITS4(0,0,1,0) ++ && INSN(4,0) == BITS5(1,1,1,1,1)) { ++ UInt imm7 = INSN(11,5); ++ DIP("hint #%u\n", imm7); ++ return True; ++ } ++ + /* ------------------- CLREX ------------------ */ + /* 31 23 15 11 7 + 1101 0101 0000 0011 0011 m 0101 1111 CLREX CRm diff --git a/valgrind.spec b/valgrind.spec index f850025..25649bc 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -84,6 +84,9 @@ Patch6: valgrind-3.12.0-ppc64-r2.patch # KDE#376611 ppc64 and arm64 don't know about prlimit64 syscall Patch7: valgrind-3.12.0-arm64-ppc64-prlimit64.patch +# KDE#376279 Handle unknown HINT instructions on aarch64 by ignoring them. +Patch8: valgrind-3.12.0-arm64-hint.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 @@ -200,6 +203,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. @@ -395,6 +399,7 @@ echo ===============END TESTING=============== %changelog * Sat Feb 18 2017 Mark Wielaard - Add valgrind-3.12.0-arm64-ppc64-prlimit64.patch +- Add valgrind-3.12.0-arm64-hint.patch * Fri Feb 17 2017 Mark Wielaard - 3.12.0-5 - Add valgrind-3.12.0-ppc64-r2.patch (#1424367)