sysemu/os-win32: fix setjmp/longjmp on windows-arm64
authorPierrick Bouvier <pierrick.bouvier@linaro.org>
Tue, 21 Feb 2023 15:30:04 +0000 (16:30 +0100)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 21 Feb 2023 23:45:48 +0000 (13:45 -1000)
commitdbd672c87f19949bb62bfb1fb3a97b9729fd7560
tree48261c1a254b426e8516c609ee0f3cf39beb95b9
parentb3c326029554a7d134e26e749240ba2d8ac288b1
sysemu/os-win32: fix setjmp/longjmp on windows-arm64

Windows implementation of setjmp/longjmp is done in
C:/WINDOWS/system32/ucrtbase.dll. Alas, on arm64, it seems to *always*
perform stack unwinding, which crashes from generated code.

By using alternative implementation built in mingw, we avoid doing stack
unwinding and this fixes crash when calling longjmp.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230221153006.20300-3-pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
include/sysemu/os-win32.h
meson.build