Hi,
This version can actually execute some programs, for example:
./sparc64-bsd-user/qemu-sparc64 -d in_asm /bin/cat /etc/motd
OpenBSD 4.4 (GENERIC) #1715: Mon Aug 11 17:55:10 MDT 2008
Welcome to OpenBSD: The proactively secure Unix-like operating system.
Please use the sendbug(1) utility to report bugs in the system.
Before reporting a bug, please try to reproduce it with the latest
version of the code. With bug reports, please try to ensure that
enough information to reproduce the problem is enclosed, and if a
known fix for it exists, include that as well.
Something is not correct with errno handling, it could also be a bug
in CPU emulation:
/sparc64-bsd-user/qemu-sparc64 -d in_asm /bin/cat /foobar
cat: /foobar: Undefined error: 0
Some other programs just fail:
./sparc64-bsd-user/qemu-sparc64 -d in_asm /bin/ls
ls: Cannot allocate memory
./sparc64-bsd-user/qemu-sparc64 -d in_asm /bin/ksh
ksh in malloc(): error: chunk overflow
./sparc64-bsd-user/qemu-sparc64 -d in_asm /usr/bin/id
Segmentation fault
./sparc64-bsd-user/qemu-sparc64 -d in_asm /sbin/ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 0¸
ifconfig: getifgroups: Cannot allocate memory
I've cleaned up the patch a bit. Signals, ioctls and structure
conversions are still unimplemented and as usual, no docs.
I think this is getting ready to be committed pretty soon. Any
comments, objections?