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


Reply via email to