mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-01 01:31:26 +00:00
[CMake][AIX] Add -bcdtors:mbr
option when building with IBM XL
Summary: The `-bcdtors:mbr` option causes processing for constructors and destructors to omit otherwise-unreferenced members of static libraries, matching the processing done on Linux, where `--whole-archive` is not the default. Applying this option is desirable for reducing the footprint of an installation. Reviewed By: daltenty Differential Revision: https://reviews.llvm.org/D79749
This commit is contained in:
parent
3f5fc73a9d
commit
e3e0367f9b
@ -196,6 +196,12 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "AIX")
|
||||
# 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()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user