$ echo 'int main(){return 0;}' > foo.c $ clang -v -O4 -use-gold-plugin foo.c -o foo Ubuntu clang version 3.0-6ubuntu3 (tags/RELEASE_30/final) (based on LLVM 3.0) Target: x86_64-pc-linux-gnu Thread model: posix "/usr/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-llvm-bc -disable-free -disable-llvm-verifier -main-file-name foo.c -mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-linker-version 2.22 -momit-leaf-frame-pointer -v -resource-dir /usr/bin/../lib/clang/3.0 -fmodule-cache-path /var/tmp/clang-module-cache -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/clang/3.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /usr/include -O3 -ferror-limit 19 -fmessage-length 142 -fgnu-runtime -fobjc-runtime-has-arc -fobjc-runtime-has-weak -fobjc-fragile-abi -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/foo-VnFyCO.o -x c foo.c clang -cc1 version 3.0 based upon llvm 3.0 hosted on x86_64-pc-linux-gnu ignoring nonexistent directory "/usr/bin/../lib/clang/3.0/include" ignoring nonexistent directory "/usr/bin/../lib/clang/3.0/include" ignoring duplicate directory "/usr/local/include" ignoring duplicate directory "/usr/include/x86_64-linux-gnu" ignoring duplicate directory "/usr/include/x86_64-linux-gnu" ignoring duplicate directory "/usr/include/x86_64-linux-gnu" ignoring duplicate directory "/usr/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include /usr/include/x86_64-linux-gnu /usr/include /usr/include/clang/3.0/include/ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/ /usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed/ End of search list. "/usr/bin/ld" -z relro --hash-style=gnu --as-needed --build-id --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o foo /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.6/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.6 -L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../.. -L/lib/x86_64-linux-gnu -L/lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib /tmp/foo-VnFyCO.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.6/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crtn.o -plugin /usr/bin/../lib/LLVMgold.so /tmp/foo-VnFyCO.o: file not recognized: File format not recognised clang: error: linker command failed with exit code 1 (use -v to see invocation)
$ echo 'int main(){return 0;}' > foo.c 30/final) (based on LLVM 3.0) llvm-verifier -main-file-name foo.c -mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor- aliases -munwind-tables -target-cpu x86-64 -target- linker- version 2.22 -momit- leaf-frame- pointer -v -resource-dir /usr/bin/ ../lib/ clang/3. 0 -fmodule-cache-path /var/tmp/ clang-module- cache -internal-isystem /usr/local/include -internal-isystem /usr/bin/ ../lib/ clang/3. 0/include -internal- externc- isystem /usr/include/ x86_64- linux-gnu -internal- externc- isystem /usr/include -O3 -ferror-limit 19 -fmessage-length 142 -fgnu-runtime -fobjc- runtime- has-arc -fobjc- runtime- has-weak -fobjc-fragile-abi -fdiagnostics- show-option -fcolor-diagnostics -o /tmp/foo-VnFyCO.o -x c foo.c ../lib/ clang/3. 0/include" ../lib/ clang/3. 0/include" include" x86_64- linux-gnu" x86_64- linux-gnu" x86_64- linux-gnu" x86_64- linux-gnu clang/3. 0/include/ gcc/x86_ 64-linux- gnu/4.6/ include/ gcc/x86_ 64-linux- gnu/4.6/ include- fixed/ ld-linux- x86-64. so.2 -o foo /usr/lib/ gcc/x86_ 64-linux- gnu/4.6/ ../../. ./x86_64- linux-gnu/ crt1.o /usr/lib/ gcc/x86_ 64-linux- gnu/4.6/ ../../. ./x86_64- linux-gnu/ crti.o /usr/lib/ gcc/x86_ 64-linux- gnu/4.6/ crtbegin. o -L/usr/ lib/gcc/ x86_64- linux-gnu/ 4.6 -L/usr/ lib/gcc/ x86_64- linux-gnu/ 4.6/../ ../../x86_ 64-linux- gnu -L/usr/ lib/gcc/ x86_64- linux-gnu/ 4.6/../ ../../. ./lib64 -L/lib/ x86_64- linux-gnu -L/lib/../lib64 -L/usr/ lib/x86_ 64-linux- gnu -L/usr/lib/../lib64 -L/usr/ lib/gcc/ x86_64- linux-gnu/ 4.6/../ ../../x86_ 64-linux- gnu -L/usr/ lib/gcc/ x86_64- linux-gnu/ 4.6/../ ../.. -L/lib/ x86_64- linux-gnu -L/lib -L/usr/ lib/x86_ 64-linux- gnu -L/usr/lib /tmp/foo-VnFyCO.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/ gcc/x86_ 64-linux- gnu/4.6/ crtend. o /usr/lib/ gcc/x86_ 64-linux- gnu/4.6/ ../../. ./x86_64- linux-gnu/ crtn.o -plugin /usr/bin/ ../lib/ LLVMgold. so
$ clang -v -O4 -use-gold-plugin foo.c -o foo
Ubuntu clang version 3.0-6ubuntu3 (tags/RELEASE_
Target: x86_64-pc-linux-gnu
Thread model: posix
"/usr/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -emit-llvm-bc -disable-free -disable-
clang -cc1 version 3.0 based upon llvm 3.0 hosted on x86_64-pc-linux-gnu
ignoring nonexistent directory "/usr/bin/
ignoring nonexistent directory "/usr/bin/
ignoring duplicate directory "/usr/local/
ignoring duplicate directory "/usr/include/
ignoring duplicate directory "/usr/include/
ignoring duplicate directory "/usr/include/
ignoring duplicate directory "/usr/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/include/
/usr/include
/usr/include/
/usr/lib/
/usr/lib/
End of search list.
"/usr/bin/ld" -z relro --hash-style=gnu --as-needed --build-id --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/
/tmp/foo-VnFyCO.o: file not recognized: File format not recognised
clang: error: linker command failed with exit code 1 (use -v to see invocation)