https://github.com/tstellar updated https://github.com/llvm/llvm-project/pull/140381
>From 24975b0426a779c6ee109f90e8b4cb09b826a18c Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Sat, 17 May 2025 16:40:51 +0000 Subject: [PATCH 1/2] [CMake][Release] Build with -ffat-lto-objects Fixes #133580 --- clang/cmake/caches/Release.cmake | 6 +++++- clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake diff --git a/clang/cmake/caches/Release.cmake b/clang/cmake/caches/Release.cmake index fb12dfcdcb5a5..a523cc561b3f9 100644 --- a/clang/cmake/caches/Release.cmake +++ b/clang/cmake/caches/Release.cmake @@ -102,7 +102,7 @@ if (LLVM_RELEASE_ENABLE_LTO) # FIXME: We can't use LLVM_ENABLE_LTO=Thin here, because it causes the CMake # step for the libcxx build to fail. CMAKE_INTERPROCEDURAL_OPTIMIZATION does # enable ThinLTO, though. - set(RUNTIMES_CMAKE_ARGS "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DLLVM_ENABLE_LLD=ON" CACHE STRING "") + set(RUNTIMES_CMAKE_ARGS "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DLLVM_ENABLE_LLD=ON -DLLVM_ENABLE_FATLTO=ON" CACHE STRING "") endif() # Stage 1 Common Config @@ -144,3 +144,7 @@ set_final_stage_var(CPACK_GENERATOR "TXZ" STRING) set_final_stage_var(CPACK_ARCHIVE_THREADS "0" STRING) set_final_stage_var(LLVM_USE_STATIC_ZSTD "ON" BOOL) +if (LLVM_RELEASE_ENABLE_LTO) + set_final_stage_var(LLVM_ENABLE_FATLTO "ON" BOOL) + set_final_stage_var(CPACK_PRE_BUILD_SCRIPTS "${CMAKE_CURRENT_LIST_DIR}/release_cpack_pre_build_strip_lto.cmake" STRING) +endif() diff --git a/clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake b/clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake new file mode 100644 index 0000000000000..4f6ee946d629c --- /dev/null +++ b/clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake @@ -0,0 +1,5 @@ +file(GLOB files ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/lib/*.a ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/lib/*.so*) + +foreach(file ${files}) + execute_process(COMMAND ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/bin/llvm-strip --no-strip-all -R .llvm.lto ${file}) +endforeach() >From 169c925660a0490999fc5723dcf5e4b77b66a57d Mon Sep 17 00:00:00 2001 From: Tom Stellard <tstel...@redhat.com> Date: Sat, 26 Jul 2025 11:21:18 -0700 Subject: [PATCH 2/2] Drop so files --- clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake b/clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake index 4f6ee946d629c..743b64fe00f58 100644 --- a/clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake +++ b/clang/cmake/caches/release_cpack_pre_build_strip_lto.cmake @@ -1,4 +1,4 @@ -file(GLOB files ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/lib/*.a ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/lib/*.so*) +file(GLOB files ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/lib/*.a) foreach(file ${files}) execute_process(COMMAND ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/bin/llvm-strip --no-strip-all -R .llvm.lto ${file}) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits