diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-11-10 15:04:02 +0000 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-11-10 15:04:02 +0000 |
commit | c8abc4c20150ddb0acb52d42bce7a53780215240 (patch) | |
tree | b92d0e5f5bf3ef8a055708dca5c6bea67f93f661 /llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp | |
parent | e1e5274a88f98467a4712d9d34d8c28b458f0f1b (diff) | |
download | llvm-c8abc4c20150ddb0acb52d42bce7a53780215240.zip llvm-c8abc4c20150ddb0acb52d42bce7a53780215240.tar.gz llvm-c8abc4c20150ddb0acb52d42bce7a53780215240.tar.bz2 |
[CMake] Let llvm-shlib work on Linux with --whole-archive.
FIXME: It should work on not only Linux but elf-targeting gnu ld.
For example if LLVM_DYLIB_COMPONENTS is "BitWriter Support", CMake emits the command line like;
-Wl,--whole-archive
lib/libLLVMBitWriter.a
lib/libLLVMSupport.a *1
-Wl,--no-whole-archive
lib/libLLVMCore.a
lib/libLLVMSupport.a *2
-lrt -ldl -ltinfo -lpthread -lm
It works since symbols in LLVMCore is resolved with not *2 but *1.
Unfortunately, --gc-sections is not powerful in this case to prune unused "visibility(default)" entries.
I am still experimenting other way not to rely on --whole-archive.
llvm-svn: 221591
Diffstat (limited to 'llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions