89 55 f4 mov DWORD PTR [ebp-12],edx 0f ae 4d f0 fxrstor DWORD PTR [ebp-16] 31 c0 xor eax,eax (http://dstress.kuehne.cn/norun/a/asm_fxrstor_01.d)
I can confirm this. As of three weeks ago, Wine now uses this instruction; see http://www.winehq.org/pipermail/wine-cvs/2008-January/039635.html and today's valgrind from svn still doesn't support it. To reproduce, just run the wine test suite under valgrind. To pull the interesting bit out of the log, do egrep 'asm|vex' log This shows a bunch of instances of vex x86->IR: unhandled instruction bytes: 0xF 0xAE 0xA 0xE9 701 __asm__ __volatile__( "fxrstor %0" : : "m" (*state) );
> vex x86->IR: unhandled instruction bytes: 0xF 0xAE 0xA 0xE9 > 701 __asm__ __volatile__( "fxrstor %0" : : "m" (*state) ); Hmm, this got punted because it's rarely used and a pain to implement. I'll try to get to it in the next couple of weeks.
This is more important than it sounds. The instruction is used in the exception handler in Wine. That means that any app that tends to use exceptions in normal operation, like oh say Adobe InDesign, can't be valground. Which is a shame. Can you at least confirm the bug? :-)
Yes. It's a real bug :-)
*** Bug 158525 has been marked as a duplicate of this bug. ***
Fixed (vex r1836).
*** Bug 149838 has been marked as a duplicate of this bug. ***