https://bugs.kde.org/show_bug.cgi?id=520856

Paul Floyd <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|[email protected]             |[email protected]
                 CC|                            |[email protected]

--- Comment #1 from Paul Floyd <[email protected]> ---
Are you using the most recent Valgrind version?

Could you try modifying and building Valgrind yourself? I think that the issue
is that our x86 decoder only handles a limited number of opcodes with the 0x32
cs prefix.

Here is the patch that needs applying

diff --git a/VEX/priv/guest_x86_toIR.c b/VEX/priv/guest_x86_toIR.c
index 66fcaf5a5..7d1533d93 100644
--- a/VEX/priv/guest_x86_toIR.c
+++ b/VEX/priv/guest_x86_toIR.c
@@ -8598,7 +8598,8 @@ DisResult disInstr_X86_WRK (
             UChar op2 = getIByte(delta+2);
             if ((op1 >= 0x70 && op1 <= 0x7F)
                 || (op1 == 0xE3)
-                || (op1 == 0x0F && op2 >= 0x80 && op2 <= 0x8F)) {
+                || (op1 == 0x0F && op2 >= 0x80 && op2 <= 0x8F)
+                || (op1 == 0xff)) {
                if (0) vex_printf("vex x86->IR: ignoring branch hint\n");
             } else {
                /* All other CS override cases are not handled */

It would be great if you could test that and let us know if it fixes your
problem.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to