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.