[announce] QEMU x86 emulator version 0.1

Ulrich Weigand weigand at immd1.informatik.uni-erlangen.de
Mon Mar 24 16:52:51 CST 2003

Hi Fabrice,

> The first release of the QEMU x86 emulator is available at 
> http://bellard.org/qemu/. QEMU achieves a fast user space Linux x86 
> emulation on x86 and PowerPC Linux hosts by using dynamic translation. 
> Its main goal is to be able to run the Wine project on non-x86 
> architectures.

Using gcc to generate code snippets is a *great* idea!
This makes it really easy to port; I've already got it 
running on s390 ...

A couple of minor observations:

- What do you need the linker scripts for?  Is it only to choose
  a non-standard offset?  If so, I guess it would be less error-
  prone to use the currently installed scripts ('ld --verbose')
  and just change the offset using sed or so ...

- The test-i386 case gives differing results (even on i386)
  for several sh[lr]dw cases and for sin(2.0) ...

- syscall.c would refuse to build due to prototype mismatch;
  this patch fixes it:

diff -urN qemu-0.1/syscall.c qemu-0.1-s390/syscall.c
--- qemu-0.1/syscall.c  2003-03-23 21:18:13.000000000 +0100
+++ qemu-0.1-s390/syscall.c     2003-03-24 22:27:41.000000000 +0100
@@ -103,10 +103,10 @@
 extern int flock(int, int);
 extern int setfsuid(int);
 extern int setfsgid(int);
-extern int setresuid(int,int,int);
-extern int getresuid(int *,int *,int *);
-extern int setresgid(int,int,int);
-extern int getresgid(int *,int *,int *);
+extern int setresuid(uid_t, uid_t, uid_t);
+extern int getresuid(uid_t *, uid_t *, uid_t *);
+extern int setresgid(gid_t, gid_t, gid_t);
+extern int getresgid(gid_t *, gid_t *, gid_t *);

 static inline long get_errno(long ret)

B.t.w are shared libraries supposed to work already?


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

More information about the wine-devel mailing list