Attached is a 1st cut of a makecontext/setcontext/getcontext/swapcontext set for ARM - not ready to go into libc yet; currently it builds standalone and links (and passes) with a test of mine. Next stop libc and a lot of cleanup.
** Changed in: qemu-linaro Assignee: (unassigned) => Dr. David Alan Gilbert (davidgil-uk) ** Attachment added: "Start of a set of context routines" https://bugs.launchpad.net/qemu-linaro/+bug/883136/+attachment/2642884/+files/allcontext.S -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/883136 Title: qemu on ARM hosts aborts on startup because makecontext() always fails Status in QEMU: New Status in Linaro QEMU: New Bug description: qemu has recently grown a coroutines implementation. There are two versions, one using the makecontext/setcontext/swapcontext functions from ucontext.h, and one falling back to implementing coroutines as separate glib threads. configure chooses the former if the platform has a makecontext(). Unfortunately ARM eglibc provides a makecontext() which always fails ENOSYS, which means the configure check passes but when qemu starts it abort()s. The best fix for this is probably going to involve making the coroutine implementation runtime-selectable. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/883136/+subscriptions