Bug 136650

Summary: vex amd64->IR: unhandled instruction bytes: 0xC2 0x8 0x0
Product: [Developer tools] valgrind Reporter: Sebastian Biallas <sb>
Component: vexAssignee: Julian Seward <jseward>
Status: RESOLVED FIXED    
Severity: crash CC: njn, tom
Priority: NOR    
Version: 3.2.1   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Bug Depends on:    
Bug Blocks: 253451    
Attachments: Patch against 3.2.1

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);
      break;
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.