diff options
author | Louis Dionne <ldionne.2@gmail.com> | 2024-01-11 10:13:21 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-11 10:13:21 -0500 |
commit | 8f90e6937a1fac80873bb2dab5f382c82ba1ba4e (patch) | |
tree | 8f0934cb16762c8b0ede6f366fa8ae1803ef369a /libcxxabi | |
parent | 3b3ee1f534242f06cdda276aacfa3328b7737326 (diff) | |
download | llvm-8f90e6937a1fac80873bb2dab5f382c82ba1ba4e.zip llvm-8f90e6937a1fac80873bb2dab5f382c82ba1ba4e.tar.gz llvm-8f90e6937a1fac80873bb2dab5f382c82ba1ba4e.tar.bz2 |
[runtimes] Use LLVM libunwind from libc++abi by default (#77687)
I recently came across LIBCXXABI_USE_LLVM_UNWINDER and was surprised to
notice it was disabled by default. Since we build libunwind by default
and ship it in the LLVM toolchain, it would seem to make sense that
libc++ and libc++abi rely on libunwind for unwinding instead of using
the system-provided unwinding library (if any).
Most importantly, using the system unwinder implies that libc++abi is
ABI compatible with that system unwinder, which is not necessarily the
case. Hence, it makes a lot more sense to instead default to using the
known-to-be-compatible LLVM unwinder, and let vendors manually select a
different unwinder if desired.
As a follow-up change, we should probably apply the same default to
compiler-rt.
Differential Revision: https://reviews.llvm.org/D150897
Fixes #77662
rdar://120801778
Diffstat (limited to 'libcxxabi')
-rw-r--r-- | libcxxabi/CMakeLists.txt | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt index efe830b..c62b05b 100644 --- a/libcxxabi/CMakeLists.txt +++ b/libcxxabi/CMakeLists.txt @@ -46,7 +46,7 @@ option(LIBCXXABI_ENABLE_EXCEPTIONS option(LIBCXXABI_ENABLE_ASSERTIONS "Enable assertions independent of build mode." ON) option(LIBCXXABI_ENABLE_PEDANTIC "Compile with pedantic enabled." OFF) option(LIBCXXABI_ENABLE_WERROR "Fail and stop if a warning is triggered." OFF) -option(LIBCXXABI_USE_LLVM_UNWINDER "Build and use the LLVM unwinder." OFF) +option(LIBCXXABI_USE_LLVM_UNWINDER "Build and use the LLVM unwinder." ON) option(LIBCXXABI_ENABLE_STATIC_UNWINDER "Statically link the LLVM unwinder." OFF) option(LIBCXXABI_USE_COMPILER_RT "Use compiler-rt instead of libgcc" OFF) option(LIBCXXABI_ENABLE_THREADS "Build with threads enabled" ON) |