On Tue, Jan 17, 2017 at 5:38 AM, Arnaldo Carvalho de Melo <a...@kernel.org> wrote: > > [acme@jouet linux]$ ls -lah /tmp/perf > -rwxr-xr-x. 1 acme acme 4.4M Jan 17 10:29 /tmp/perf > [acme@jouet linux]$ size /tmp/perf > text data bss dec hex filename > 3954488 622440 23912104 28489032 1b2b548 /tmp/perf > [acme@jouet linux]$ ldd /tmp/perf | egrep -i llvm\|clang > libclangAST.so.40 => /usr/local/lib/libclangAST.so.40 > (0x00007f4964981000) ... > libLLVMSystemZDisassembler.so.40 => > /usr/local/lib/libLLVMSystemZDisassembler.so.40 (0x00007f495fe70000) ... > libLLVMSparcDisassembler.so.40 => > /usr/local/lib/libLLVMSparcDisassembler.so.40 (0x00007f495f14f000) ... > libLLVMPowerPCDisassembler.so.40 => > /usr/local/lib/libLLVMPowerPCDisassembler.so.40 (0x00007f495de94000) ... > libLLVMMSP430CodeGen.so.40 => > /usr/local/lib/libLLVMMSP430CodeGen.so.40 (0x00007f495c79d000) ... > libLLVMMipsDisassembler.so.40 => > /usr/local/lib/libLLVMMipsDisassembler.so.40 (0x00007f495bf73000)
I think the static binary shouldn't be including all llvm backends. It's not clear to me why .so pulls them all. fyi I typically configure llvm with: -DLLVM_TARGETS_TO_BUILD="X86;BPF"