Dear all, There's a problem building libunwinwd-1.0.1 when configured with --enable-msabi-support.
The problem occurs when compilation reaches src/x86_64/Lglobal.c, because the symbols UNW_X86_64_XMM0, UNW_X86_64_XMM1 etc. are undefined. Lglobal.c reads: #define UNW_LOCAL_ONLY #include <libunwind.h> #if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY) #include "Gglobal.c" #endif The *definitions* for the required symbols are in libunwind-x86_64.h guarded by a C-preprocessor #ifdef CONFIG_MSABI_SUPPORT. This file is read in libunwind.h. The symbols are *used* in src/x86_64/Gglobal.c, again, guarded by the same C-preprocessor directive. The problem is that when the *definitions* are processed, CONFIG_MSABI_SUPPORT is not defined, but it is when the symbols are *used*. What's happening is that Gglobal.c #includes src/x86_64/unwind_i.h, which #includes include/libunwind_i.h, which #includes config.h. config.h defines CONFIG_MSABI_SUPPORT, with the result that the code in Gglobal.c which *uses* these symbols is compiled. However, when the *definitions* are read as part of the #include for libunwind.h, the definitions are *not* compiled. Is this a regression? Why is CONFIG_MSABI_SUPPORT a conditional? Why isn't on all the time? Thanks, Ariel _______________________________________________ Libunwind-devel mailing list Libunwind-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/libunwind-devel