I've grabbed the latest stable qemu and compiled under scratchbox. I hit an issue compiling it, with no __builtin__clear_cache() so linked in a kludge.c containing a call to __clear_cache() with the params passed as they would be to __builtin__clear_cache().
Firstly does this sound like it should work as a workaround? It certainly got me to the next level, which is that I can now run loads of linux binaries on my armlinux system (a Nokia n900). I've tried tower toppler (http://toppler.sourceforge.net/) which uses SDL (via X11) and this was surprisingly fast, in fact it almost felt as fast as the native toppler that somebody crosscompiled already. Most linux utils work when I copy then and any dependant libs from my x86 laptop to the phone. I'm lucky (I guess) that /lib/ld-linux.so.3 is the arm version and I'm using a slightly older .2 for x86 so I can have both files there. I also enabled arbitrary execution of binaries via binfmt_misc. The 600 Mhz Arm V8 Cortex (I think it is), feels like it's running at about Pentium 90 speeds, which I'm hoping is enough for what I really want to get going. I want to run an old, possibly win16 Windows game under wine. I saw that user mode qemu-i386 was able to run wine in a post in 2004: http://lists.terrasoftsolutions.com/pipermail/yellowdog-general/2004-June/014468.html - This was on a PPC however. When I run wine it SEGVs out and the strace of it shows it dies trying to do clone(). I also can't run things like xterm which can't do fork(). Is this because by default it's trying to go via the arm "/bin/sh" to invoke whatever it wants to exec() in to? Should clone()/fork() work? Has anyone been able to run wine ./blah.exe under user-linux mode of qemu on arm or indeed any other non x86 based CPU ? Damion