@@ -62,8 +62,8 @@ function build_llvm() {
6262 -DCMAKE_INSTALL_PREFIX=${install_dir} \
6363 -DCMAKE_C_FLAGS=" ${additional_compiler_flags} " \
6464 -DCMAKE_CXX_FLAGS=" ${additional_compiler_flags} " \
65- -DCMAKE_EXE_LINKER_FLAGS=" -Wl,--strip-all ${additional_linker_flags} " \
66- -DCMAKE_SHARED_LINKER_FLAGS=" -Wl,--strip-all ${additional_linker_flags} " \
65+ -DCMAKE_EXE_LINKER_FLAGS=" -Wl,--strip-all ${additional_linker_flags} ${additional_exe_linker_flags} " \
66+ -DCMAKE_SHARED_LINKER_FLAGS=" -Wl,--strip-all ${additional_linker_flags} ${additional_shared_linker_flags} " \
6767 -DCMAKE_SYSROOT=" ${SYSROOT} " \
6868 -DLLVM_REQUIRES_RTTI=ON \
6969 -DLLVM_TARGETS_TO_BUILD=${targets_to_build} \
@@ -362,6 +362,7 @@ llvm_additional_cmake="${llvm_additional_cmake} -DCLANG_DEFAULT_RTLIB=compiler-r
362362llvm_additional_cmake=" ${llvm_additional_cmake} -DLLVM_ENABLE_LIBCXX=ON"
363363llvm_additional_cmake=" ${llvm_additional_cmake} -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON"
364364llvm_additional_cmake=" ${llvm_additional_cmake} -DCMAKE_CXX_STANDARD=20"
365+ llvm_additional_cmake=" ${llvm_additional_cmake} -DLLVM_USE_LINKER=lld"
365366
366367build_folder=" build-llvm-final" \
367368cc_compiler=" clang" \
@@ -370,7 +371,9 @@ install_dir="$PREFIX" \
370371llvm_projects=' clang;compiler-rt;lld;clang-tools-extra' \
371372targets_to_build=" $LLVM_MACHINE ;BPF" \
372373additional_compiler_flags=" " \
373- additional_linker_flags=" -rtlib=compiler-rt -l:libc++abi.a -ldl -lpthread" \
374+ additional_linker_flags=" -rtlib=compiler-rt -ldl -lpthread" \
375+ additional_exe_linker_flags=" -Wl,--whole-archive,-lc++abi,--no-whole-archive" \
376+ additional_shared_linker_flags=" -lc++abi" \
374377additional_cmake=" ${llvm_additional_cmake} " \
375378build_llvm
376379
0 commit comments