From 32f2798605199088411cca29f97a76fbde03dd69 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Fri, 27 Oct 2017 20:32:37 +0200 Subject: extra/valgrind: added redundand addr16 call prefix patch --- extra/valgrind/PKGBUILD | 12 +++++++++++ ...gnore-redundant-addr16-prefix-in-rel-call.patch | 24 ++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 extra/valgrind/PKGBUILD create mode 100644 extra/valgrind/valgrind-3.13.0-ignore-redundant-addr16-prefix-in-rel-call.patch (limited to 'extra/valgrind') 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 +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 -- */ + /* ---------------------------------------------------- */ -- cgit v1.2.3-70-g09d2