mirror of
https://git.yoctoproject.org/poky
synced 2026-04-22 15:32:14 +02:00
libcxx: Create packageconfig for cross unwinder support
cross-unwinding can pass exception across runtimes e.g.
Multi-language applications ( nodejs native modules, python C extensions )
However, cross-unwinding is not default in libcxx for sometime [1]
it requires special handling at runtime by apps who use it
Switch recipe defaults to upstream defaults, which is to turn it off
This means native unwinding ( with in same runtime )
is build by default which is the most common case.
This also fixes libcxx/libunwind build errors
when enabling TC_CXX_RUNTIME = "llvm" on aarch64 particularly
[1] 85624c5de3
(From OE-Core rev: 88e1214e01c48b174aa9516c60e15a0dfb69e10f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -20,6 +20,7 @@ PACKAGECONFIG[exceptions] = "-DLIBCXXABI_ENABLE_EXCEPTIONS=ON -DLIBCXX_ENABLE_EX
|
||||
PACKAGECONFIG[no-atomics] = "-D_LIBCXXABI_HAS_ATOMIC_BUILTINS=OFF -DCMAKE_SHARED_LINKER_FLAGS='-latomic',,"
|
||||
PACKAGECONFIG[compiler-rt] = "-DLIBCXX_USE_COMPILER_RT=ON -DLIBCXXABI_USE_COMPILER_RT=ON -DLIBUNWIND_USE_COMPILER_RT=ON,,compiler-rt"
|
||||
PACKAGECONFIG[unwind-shared] = "-DLIBUNWIND_ENABLE_SHARED=ON,-DLIBUNWIND_ENABLE_SHARED=OFF,,"
|
||||
PACKAGECONFIG[unwind-cross] = "-DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON,-DLIBUNWIND_ENABLE_CROSS_UNWINDING=OFF,,"
|
||||
|
||||
DEPENDS:append:class-target = " virtual/cross-c++ ${MLPREFIX}clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc virtual/${MLPREFIX}compilerlibs"
|
||||
DEPENDS:append:class-nativesdk = " virtual/cross-c++ clang-crosssdk-${SDK_SYS} nativesdk-compiler-rt"
|
||||
@@ -64,7 +65,6 @@ EXTRA_OECMAKE += "\
|
||||
-DCMAKE_CROSSCOMPILING=ON \
|
||||
-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \
|
||||
-DLLVM_ENABLE_RTTI=ON \
|
||||
-DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON \
|
||||
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \
|
||||
-DLIBCXXABI_INCLUDE_TESTS=OFF \
|
||||
-DLIBCXXABI_ENABLE_SHARED=ON \
|
||||
|
||||
Reference in New Issue
Block a user