summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-10-27 20:32:37 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-10-27 20:32:37 +0200
commit32f2798605199088411cca29f97a76fbde03dd69 (patch)
treeed4277190da0ef9de2b92ee3e4256aca481e5862
parent740cbf6d5338d3b05dc2f5f61a4e827c3d2d512a (diff)
downloadpackages-32f2798605199088411cca29f97a76fbde03dd69.tar.xz
extra/valgrind: added redundand addr16 call prefix patch
-rw-r--r--extra/valgrind/PKGBUILD12
-rw-r--r--extra/valgrind/valgrind-3.13.0-ignore-redundant-addr16-prefix-in-rel-call.patch24
2 files changed, 36 insertions, 0 deletions
diff --git a/extra/valgrind/PKGBUILD b/extra/valgrind/PKGBUILD
new file mode 100644
index 00000000..040cc81f
--- /dev/null
+++ b/extra/valgrind/PKGBUILD
@@ -0,0 +1,12 @@
+# Patch: https://bugsfiles.kde.org/attachment.cgi?id=107639
+# See: https://bugs.kde.org/show_bug.cgi?id=386115
+# and https://bugs.kde.org/show_bug.cgi?id=384230
+
+source+=('valgrind-3.13.0-ignore-redundant-addr16-prefix-in-rel-call.patch')
+md5sums+=('3df4e4b3724de72cc68b13c1aabdfd2e')
+sha512sums+=('fedf7b68e2246819a37c3d6126384e13103c4e22a68b4339ed41c7a1528a09f15fc32ea3cab7e4f87d7514b855582f68bfb8b864aaa0821759a3a6b12b5ad9e4')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -Np1 -i "$srcdir/valgrind-3.13.0-ignore-redundant-addr16-prefix-in-rel-call.patch"
+}
diff --git a/extra/valgrind/valgrind-3.13.0-ignore-redundant-addr16-prefix-in-rel-call.patch b/extra/valgrind/valgrind-3.13.0-ignore-redundant-addr16-prefix-in-rel-call.patch
new file mode 100644
index 00000000..1b6eac64
--- /dev/null
+++ b/extra/valgrind/valgrind-3.13.0-ignore-redundant-addr16-prefix-in-rel-call.patch
@@ -0,0 +1,24 @@
+commit 0a01a3771224300c0549e3cf26529a5995011092
+Author: Tom Hughes <tom@compton.nu>
+Date: Thu Aug 31 15:58:11 2017 +0100
+
+ Ignore redundant addr16 prefix on relative call
+
+ BZ#384230
+
+diff --git a/VEX/priv/guest_x86_toIR.c b/VEX/priv/guest_x86_toIR.c
+index 9f6a41abf..ad1f8d838 100644
+--- a/VEX/priv/guest_x86_toIR.c
++++ b/VEX/priv/guest_x86_toIR.c
+@@ -13067,6 +13067,11 @@ DisResult disInstr_X86_WRK (
+ goto decode_success;
+ }
+
++ /* 67 E8 = CALL with redundant addr16 prefix */
++ if (insn[0] == 0x67 && insn[1] == 0xE8) {
++ delta++;
++ }
++
+ /* ---------------------------------------------------- */
+ /* --- start of the baseline insn decoder -- */
+ /* ---------------------------------------------------- */