[PATCH 01/11] configure: Pass -fasynchronous-unwind-tables to the compiler

Martin Storsjo martin at martin.st
Thu May 28 03:14:37 CDT 2020


On aarch64-linux-gnu, unwind tables aren't emitted by default (contrary
to x86_64-linux-gnu), so we must pass the flag (or -funwind-tables)
to the compiler to make it generate them.

Previously wine just added the flag to the linker options.

Signed-off-by: Martin Storsjo <martin at martin.st>
---
With this whole series in place, wine successfully manages to handle
all C++ unwinding tests from https://github.com/microsoft/compiler-tests
(both built with clang in mingw mode, with itanium style unwinding, and
with MSVC), and almost all of the plain C SEH tests from the same site.

I can share my collection of unwinding test binaries if there's interest
in that.
---
 configure.ac | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configure.ac b/configure.ac
index c0f60fe694a..816e3684510 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2141,6 +2141,7 @@ AC_CACHE_CHECK([whether CFI directives are supported in assembly code], ac_cv_c_
                       ac_cv_c_cfi_support="yes",ac_cv_c_cfi_support="no"))
 if test "$ac_cv_c_cfi_support" = "yes"
 then
+   DLLFLAGS="$DLLFLAGS -fasynchronous-unwind-tables"
    LDDLLFLAGS="$LDDLLFLAGS -fasynchronous-unwind-tables"
 else
    if test "x$enable_win64" = "xyes"
-- 
2.17.1




More information about the wine-devel mailing list