Bug 136650 - vex amd64->IR: unhandled instruction bytes: 0xC2 0x8 0x0
Summary: vex amd64->IR: unhandled instruction bytes: 0xC2 0x8 0x0
Alias: None
Product: valgrind
Classification: Developer tools
Component: vex (show other bugs)
Version: 3.2.1
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Julian Seward
Depends on:
Blocks: 253451
  Show dependency treegraph
Reported: 2006-11-01 16:30 UTC by Sebastian Biallas
Modified: 2011-08-11 09:11 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:

Patch against 3.2.1 (1.14 KB, patch)
2006-11-01 16:31 UTC, Sebastian Biallas

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian Biallas 2006-11-01 16:30:01 UTC
The code for handling "ret imm16" on AMD64 guests was commented (maybe because
ret imm16 is rarly used on amd64?). I need it and the following patch enables it.
Comment 1 Sebastian Biallas 2006-11-01 16:31:20 UTC
Created attachment 18353 [details]
Patch against 3.2.1

Enables support for "ret imm16" on amd64.
Comment 2 Julian Seward 2006-11-13 01:45:25 UTC
Sebastian, does the following work for you?

   case 0xC2: /* RET imm16 */
      if (have66orF2orF3(pfx)) goto decode_failure;
      d64 = getUDisp16(delta); 
      delta += 2;
      dis_ret(vmi, d64);
      whatNext = Dis_StopHere;
      DIP("ret %lld\n", d64);
Comment 3 Sebastian Biallas 2006-11-23 19:25:48 UTC
My patch attached patch works. Your code lacks the definition of "getUDisp16" and I don't know what "vmi" is (I use version 3.2.1)
Comment 4 Tom Hughes 2011-08-11 09:11:42 UTC
This was fixed by VEX r1676.