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

            Bug ID: 439109
           Summary: vex: leaw amd64 instruction does not get decoded
                    correctly + fix
           Product: valgrind
           Version: 3.15 SVN
          Platform: Compiled Sources
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: vex
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Created attachment 139638
  --> https://bugs.kde.org/attachment.cgi?id=139638&action=edit
A patch for the leaw instruction in valgrind

SUMMARY

lea with operand size 16 (LEA r16,m or leaw) is not implemented in libVEX.

The attached patch adds support for the instruction and fixes the according
test.

STEPS TO REPRODUCE
1. have a binary with e. g. "lea cx, [r10 + r12]"
2. run it with valgrind

OBSERVED RESULT

vex amd64->IR: unhandled instruction bytes: 0x66 0x43 0x8D 0xC 0x1C 0x66 0x46
0x3 0x24 0x4F
vex amd64->IR:   REX=1 REX.W=0 REX.R=0 REX.X=1 REX.B=1
vex amd64->IR:   VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=NONE
vex amd64->IR:   PFX.66=1 PFX.F2=0 PFX.F3=0

EXPECTED RESULT

No error should be thrown

SOFTWARE/OS VERSIONS

Linux: tested

ADDITIONAL INFORMATION

I attached a patch, which adds support for this lea variation.
Furthermore I fixed the corresponding test, as it threw linker errors due to
wrong ordering of macros.

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

Reply via email to