From 7ca30134dd44466c62d5dc7f26974efd335d1df8 Mon Sep 17 00:00:00 2001 From: Arseny Maslennikov Date: Tue, 31 Aug 2021 17:26:49 +0300 Subject: [PATCH] cmake: pass -ffat-lto-objects if using the GNU toolchain We build and install static libraries. ALT's process-lto brp disallows us to package objects with __gnu_lto_slim, so we pass -ffat-lto-objects if GNU toolchain is used. --- llvm/cmake/modules/HandleLLVMOptions.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake index 5d4d692a7..b438f48a5 100644 --- a/cmake/modules/HandleLLVMOptions.cmake +++ b/cmake/modules/HandleLLVMOptions.cmake @@ -1029,6 +1029,10 @@ endif() elseif(LLVM_ENABLE_LTO) append("-flto" CMAKE_CXX_FLAGS CMAKE_C_FLAGS) + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + message(STATUS "ALT: Using GNU toolchain to compile LLVM with LTO enabled, so we ask it to produce fat objects.") + append("-ffat-lto-objects" CMAKE_CXX_FLAGS CMAKE_C_FLAGS) + endif() if(NOT LINKER_IS_LLD_LINK) append("-flto" CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS) endif() -- 2.32.0