[PATCH] D79749: [CMake][AIX] Add `-bcdtors:mbr` option when building with IBM XL
Hubert Tong via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri May 15 14:43:03 PDT 2020
This revision was automatically updated to reflect the committed changes.
Closed by commit rGe3e0367f9ba1: [CMake][AIX] Add `-bcdtors:mbr` option when building with IBM XL (authored by hubert.reinterpretcast).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79749/new/
https://reviews.llvm.org/D79749
Files:
llvm/cmake/modules/HandleLLVMOptions.cmake
Index: llvm/cmake/modules/HandleLLVMOptions.cmake
===================================================================
--- llvm/cmake/modules/HandleLLVMOptions.cmake
+++ llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -196,6 +196,12 @@
# XL generates a small number of relocations not of the large model, -bbigtoc is needed.
append("-Wl,-bbigtoc"
CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
+ # The default behaviour on AIX processes dynamic initialization of non-local variables with
+ # static storage duration even for archive members that are otherwise unreferenced.
+ # Since `--whole-archive` is not used by the LLVM build to keep such initializations for Linux,
+ # we can limit the processing for archive members to only those that are otherwise referenced.
+ append("-bcdtors:mbr"
+ CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
endif()
endif()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79749.264351.patch
Type: text/x-patch
Size: 966 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200515/827e4516/attachment.bin>
More information about the llvm-commits
mailing list