Comment 5 for bug 661696

Revision history for this message
blueswirl (blauwirbel) wrote : Re: [Qemu-devel] [Bug 661696] Re: Ollydbg under Windows in qemu does not work as it does under native Windows.

On Sat, Oct 16, 2010 at 3:24 PM, Paolo Bonzini <email address hidden> wrote:
> linux-user testcase:
>
> extern void *x;
>
> int main()
> {
>        int a;
>        asm volatile ("x: fldz\n\
>             push %%edx\n\
>             .byte 0xd9,0x74,0x24,0xf4\n\
>             pop %%edx\n" : "=d" (a) : : "memory");
>        printf ("%x %x\n", a, &x);
> }
>
> yakj:~ pbonzini$ ./a.out
> 80483d9 80483d9
> yakj:~ pbonzini$ qemu-i386 ./a.out
> 0 80483d9
>
>
> ** Summary changed:
>
> - Ollydbg under Windows in qemu does not work as it does under native Windows.
> + incomplete emulation of fstenv under TCG

Each FP instruction should store the needed data into new env fields,
including IP, CS and opcode. These are known at translation time. Data
pointers need to be saved at execution time.

The new env fields would be then used by FSTENV, FSAVE, FXSAVE (which
also suffer from the problem) etc.