[announce] QEMU x86 emulator version 0.1

Ulrich Weigand weigand at immd1.informatik.uni-erlangen.de
Mon Mar 24 18:29:12 CST 2003

Hi Fabrice,

> Yes, it is just to change the binary base address. My futur plan is to 
> build an "executable shared library" like ld.so and to relocate it 
> dynamically as soon as I know where the ELF file wants to be mapped.

Ah, I see.

> > - The test-i386 case gives differing results (even on i386)
> >   for several sh[lr]dw cases and for sin(2.0) ...
> For sh[lr]dw I discovered yesterday it is *really* CPU dependent as 
> mentionned in the intel doc if the shift is >= 16 (I am using a K6). 
> Strange for sin(2.0).

The sin(2.0) case is now fixed, strange indeed.

But I've got another miscompare, this time with bsfw:
-bsfw       A=12340128 R=12340003 0
+bsfw       A=12340128 R=00000003 0

However, this appears to be a test case bug:
#define TEST_BSX(op, size, op0)\
    int res, val, resz;\
    val = op0;\
    asm("xorl %1, %1 ; " #op " %" size "2, %" size "0 ; setz %b1" \
        : "=r" (res), "=q" (resz)\
        : "g" (val));\
    printf("%-10s A=%08x R=%08x %d\n", #op, val, resz ? 0 : res, resz);\

Note that when using 16-bit operations, the "=r" (res) is actually
invalid, because the assembler code will leave the upper 16-bit
undefined. I'd suggest setting res to a defined value before
the asm and using "+r" (res).

> Yes. A new version is at http://bellard.org/qemu. I provided a binary 
> install for glibc and wine. I tested /bin/ls succesfully on PowerPC with 
> dynamic linking. On i386, wine works for some command line windows 
> programms, but it terminates with a segfault...

Great; /bin/ls works on s390 as well!


  Dr. Ulrich Weigand
  weigand at informatik.uni-erlangen.de

More information about the wine-devel mailing list