On 1 March 2016 at 17:53, Paolo Bonzini <pbonz...@redhat.com> wrote: > > > On 01/03/2016 18:46, Andrew Baumann wrote: >> --- a/include/sysemu/os-win32.h >> +++ b/include/sysemu/os-win32.h >> @@ -60,6 +60,7 @@ >> * If this parameter is NULL, longjump does no stack unwinding. >> * That is what we need for QEMU. Passing the value of register rsp >> (default) >> * lets longjmp try a stack unwinding which will crash with generated code. >> */ >> +# include <setjmp.h> >> # undef setjmp >> # define setjmp(env) _setjmp(env, NULL) >> #endif > > I like this patch or the similar: > > diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h > index 4538fdc..322a7da 100644 > --- a/include/qemu/osdep.h > +++ b/include/qemu/osdep.h > @@ -77,6 +77,8 @@ extern int daemon(int, int); > #include <sys/time.h> > #include <assert.h> > #include <signal.h> > +/* This is needed on Mingw-w64 where we redefine setjmp below. */ > +#include <setjmp.h> > > #ifdef __OpenBSD__ > #include <sys/signal.h> > > which also includes the file on POSIX systems.
Yes, that would get my vote. (Followup cleanup -- remove the now unneeded includes of setjmp.h elsewhere.) thanks -- PMM