https://bugs.winehq.org/show_bug.cgi?id=49506
Bug ID: 49506 Summary: Using LLVM's libunwind causes wine build failure Product: Wine Version: 5.11 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: bero@lindev.ch Distribution: ---
Created attachment 67634 --> https://bugs.winehq.org/attachment.cgi?id=67634 Proposed fix
There are multiple different implementations of libunwind -- but when building for Linux, wine assumes https://www.nongnu.org/libunwind/ is being used.
That is true on most Linux systems, but some use LLVM libunwind https://github.com/llvm/llvm-project/tree/master/libunwind instead.
Since Apple uses LLVM libunwind as well, all the code needed to support this is there already - just not triggered by the various ifdefs in signal_x86_64.c.
AFAIK there is no official #define to tell libunwind implementations apart - but checking for an implementation detail (such as the presence of ____LIBUNWIND_CONFIG_H__) should do the right thing.
https://bugs.winehq.org/show_bug.cgi?id=49506
Bernhard Rosenkränzer bero@lindev.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- Hardware|x86 |x86-64
https://bugs.winehq.org/show_bug.cgi?id=49506
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, patch CC| |austinenglish@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=49506
Bernhard Rosenkränzer bero@lindev.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #67634|0 |1 is obsolete| |
--- Comment #1 from Bernhard Rosenkränzer bero@lindev.ch --- Created attachment 67646 --> https://bugs.winehq.org/attachment.cgi?id=67646 Updated patch to work with wine 5.12
https://bugs.winehq.org/show_bug.cgi?id=49506
Bernhard Rosenkränzer bero@lindev.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|5.11 |5.12
https://bugs.winehq.org/show_bug.cgi?id=49506
Theo Anderson telans@posteo.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |telans@posteo.de, | |z.figura12@gmail.com
--- Comment #2 from Theo Anderson telans@posteo.de --- Gentoo allows users to choose llvm-libunwind as their default libunwind unwinder. It would be great if this patch could be considered for wine-staging, removing the hard dependency on nongnu libunwind. Thanks
https://bugs.winehq.org/show_bug.cgi?id=49506
--- Comment #3 from Zebediah Figura z.figura12@gmail.com --- Do we need two different paths, even? Can the path without unw_getcontext() be used even for LLVM libunwind? af4c7e6e6133 sadly doesn't provide any explanation...
https://bugs.winehq.org/show_bug.cgi?id=49506
Jinoh Kang jinoh.kang.kr@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jinoh.kang.kr@gmail.com
--- Comment #4 from Jinoh Kang jinoh.kang.kr@gmail.com --- Instead of ____LIBUNWIND_CONFIG_H__, we can test for LIBUNWIND_AVAIL.
Also we should do this not only on x86-64, but ARM and ARM64.