[llvm] ab00b10 - [AIX] Update CMake linker flags to use large glink code
David Tenty via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 8 10:17:48 PDT 2023
Author: Alison Zhang
Date: 2023-06-08T13:17:24-04:00
New Revision: ab00b10d722d5df840b68475bb219299f70955da
URL: https://github.com/llvm/llvm-project/commit/ab00b10d722d5df840b68475bb219299f70955da
DIFF: https://github.com/llvm/llvm-project/commit/ab00b10d722d5df840b68475bb219299f70955da.diff
LOG: [AIX] Update CMake linker flags to use large glink code
Building clang/llvm as a debug build results in TOC overflow even when
using large code model on AIX. This review updates the
llvm/cmake/modules/HandleLLVMOptions.cmake file to use large glink code
in addition to building as a large code model.
Differential Revision: https://reviews.llvm.org/D151733
Added:
Modified:
llvm/cmake/modules/HandleLLVMOptions.cmake
Removed:
################################################################################
diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake
index 1322a54ee6e99..b8e9ac9558b37 100644
--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -212,6 +212,8 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "AIX")
# -fPIC does not enable the large code model for GCC on AIX but does for XL.
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
append("-mcmodel=large" CMAKE_CXX_FLAGS CMAKE_C_FLAGS)
+ append("-Wl,-bglink=large"
+ CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
elseif(CMAKE_CXX_COMPILER_ID MATCHES "XL")
# XL generates a small number of relocations not of the large model, -bbigtoc is needed.
append("-Wl,-bbigtoc"
More information about the llvm-commits
mailing list