Группа :: Разработка/C
Пакет: llvm12.0
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: llvm-cmake-pass-ffat-lto-objects-if-using-the-GNU-toolcha.patch
Скачать
Скачать
From 7ca30134dd44466c62d5dc7f26974efd335d1df8 Mon Sep 17 00:00:00 2001
From: Arseny Maslennikov <arseny@altlinux.org>
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