add cxx_exceptions support
Task Info (Flyspray) | |
---|---|
Opened By | REmorin (REmorin) |
Task ID | 79683 |
Type | Feature Request |
Project | Arch Linux |
Category | Packages: Extra |
Version | None |
OS | All |
Opened | 2023-09-13 22:28:16 UTC |
Status | Assigned |
Assignee | Felix Yan (felixonmars) |
Details
Description:
libunwind so-files (specifically, liunwind.so.8.0.1
) lack the symbols (called cxx_exceptions
upstream) needed for some usecases.
In my case I can't compile a program with a sanitizer using clang -rtlib=compiler-rt -unwindlib=libunwind
because it needs _Unwind_Backtrace
and _Unwind_GetIP
which the so-file doesn't have. (https://github.com/llvm/llvm-project/issues/65796#issuecomment-1716486460) This situation is especially worse on Arch, because a few distros have llvm-libunwind which can provide it. (The AUR package is bad and not up to date.)
But, there is an easy soulution, which, btw, Debian and Alpine use:
Pass --enable-cxx-exceptions
to ./configure
during buildtime. Works for every version: 1.6.2
, 1.7.2
, 1.5.0
.
See https://github.com/libunwind/libunwind/issues/615#issuecomment-1718085148 for details.
Additional info:
- package version(s): 1.6.2-2
- config and/or log files etc.: see "steps to reproduce" and links.
- link to upstream bug report, if any: https://github.com/libunwind/libunwind/issues/615 (not really a bug/issue report, just a question at this point about the distros situation and the default behavior; plus I dunno how long it'll take them to reply, they don't seem to reply very fast/often)
Steps to reproduce:
strings /usr/lib/libunwind.so.8.0.1 | grep '_Unwind'
- grep: exit 1