On 11/22/2011 04:19 PM, Peter Maydell wrote:
* coroutine implementation doesn't cope if libc provides a makecontext()
that returns ENOSYS (so we abort on startup)
I have a patch that replaces makecontext() with sigaltstack(), i.e.
going from nice code that does not work to hideous code that works.
I had not submitted it yet because it does not help for OpenBSD so we
would need anyway coroutine-gthread.c, and because I would like to test
it more thoroughly on non-Linux hosts. If anyone can help with the
testing, it is at git://github.com/bonzini/qemu.git branch coroutine-fix.
* the MAP_FIXED static codegen buffer is put at an address which overlaps
the glibc heap so we crash about 50% of the time
For 1.1 we can just use USE_STATIC_CODE_GEN_BUFFER. It should not have
major problems on Linux, since it is already tested for linux-user.
That leaves out Windows of course.
Paolo