89 55 f4 mov DWORD PTR [ebp-12],edx
0f ae 4d f0 fxrstor DWORD PTR [ebp-16]
31 c0 xor eax,eax
I can confirm this.
As of three weeks ago, Wine now uses this instruction; see
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. ***