|
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*)?
[Prev in Thread] | Current Thread | [Next in Thread] |