From dc63352e5e2f22b7f5bb7f49c91509d7d77ec578 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 28 Oct 2026 12:11:53 +0700 Subject: [PATCH] Enable libunwind and disable compiler-rt --- mk/prefix.mk | 2 -- recipes/dev/llvm-rt21/recipe.toml | 18 ++++++++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/mk/prefix.mk b/mk/prefix.mk index 98312da9f..622f6b1d9 100644 --- a/mk/prefix.mk +++ b/mk/prefix.mk @@ -332,8 +332,6 @@ else @#TODO: generates wrong lib path for libtool rm -f "$@.partial"/$(GNU_TARGET)/lib/libstdc++.la rm -f "$@.partial"/$(GNU_TARGET)/lib/libsupc++.la - @#TODO: Needed by clang, yet not emitted - ln -s crtbegin.o "$@.partial"/lib/gcc/$(GNU_TARGET)/13.2.0/crtbeginT.o # hosted libstdcxx export PATH="$(ROOT)/$@.partial/bin:$$PATH" \ ACLOCAL_PATH="$(LIBTOOL_PATH)/share/aclocal:$$ACLOCAL_PATH" && \ diff --git a/recipes/dev/llvm-rt21/recipe.toml b/recipes/dev/llvm-rt21/recipe.toml index 8dfbd608b..03744a90e 100644 --- a/recipes/dev/llvm-rt21/recipe.toml +++ b/recipes/dev/llvm-rt21/recipe.toml @@ -10,8 +10,11 @@ DYNAMIC_INIT generate_cookbook_cmake_file "$COOKBOOK_HOST_TARGET" "" "$COOKBOOK_TOOLCHAIN" native.cmake COOKBOOK_CMAKE_FLAGS+=( - -DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi" + -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" -DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY + + # unused compiler-rt flags, disabled for now to prevent runtime mixups + -DCOMPILER_RT_BUILD_CRT=ON -DCOMPILER_RT_BUILD_ORC=OFF -DCOMPILER_RT_BUILD_XRAY=OFF -DCOMPILER_RT_BUILD_MEMPROF=OFF @@ -19,14 +22,17 @@ COOKBOOK_CMAKE_FLAGS+=( -DCOMPILER_RT_BUILD_SANITIZERS=OFF -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON - -DLIBCXX_USE_COMPILER_RT=ON - -DLIBCXX_ENABLE_SHARED=OFF + + -DLIBCXX_USE_COMPILER_RT=OFF + -DLIBCXX_ENABLE_SHARED=ON -DLIBCXX_ENABLE_LOCALIZATION=OFF # TODO: *_l functions -DLIBCXX_ENABLE_FILESYSTEM=OFF # TODO: fstream require locales -DLIBCXX_ENABLE_WIDE_CHARACTERS=OFF # TODO: wsctof, wsctold - -DLIBCXXABI_USE_COMPILER_RT=ON - -DLIBCXXABI_ENABLE_SHARED=OFF - -DLIBCXXABI_USE_LLVM_UNWINDER=OFF # TODO: libunwind need link.h + -DLIBCXXABI_USE_COMPILER_RT=OFF + -DLIBCXXABI_ENABLE_SHARED=ON + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF # libgcc contains unwinder + -DLIBUNWIND_USE_COMPILER_RT=OFF + -DLIBUNWIND_ENABLE_SHARED=ON -DCOMPILER_RT_INSTALL_PATH="/usr/lib/clang/21" # the shared options from llvm