qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] win64: perform correct setjmp calls


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH] win64: perform correct setjmp calls
Date: Mon, 09 Feb 2015 20:47:50 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0

Am 09.02.2015 um 09:07 schrieb Pavel Dovgaluk:
From: Stefan Weil [mailto:address@hidden
Am 09.02.2015 um 08:55 schrieb Pavel Dovgalyuk:
On w64, setjmp is implemented by _setjmp which needs a second parameter.
This parameter should be NULL to allow using longjump from generated code.
This patch replaces all usages of setjmp.h with new header files which
replaces setjmp with _setjmp function on win64 platform.

Signed-off-by: Pavel Dovgalyuk <address@hidden>
Please have a look at include/sysemu/os-win32.h. I think that your patch
is not needed because the current code already uses _setjmp.
Right, but some of the files (e.g. include/qom/cpu.h) include setjmp.h directly.
Then we have the following for compiling cpu-exec.c:

cpu-exec.c:
...
os-win32.h
...
setjmp.h
...

In this situation cpu-exec will call incorrect setjmp function.

Pavel Dovgalyuk


It won't call the wrong setjmp function, at least not in my tests. cpu-exec.c gets the setjmp declaration from os-win32.h. Without it, QEMU would be unusable because it would crash very soon during the emulation.

Do you see problems caused by a wrong setjmp with latest QEMU? If yes: which build environment do you use (host, compiler, version of MinGW*)?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]