clang -O4 fails with gold in a trivial example

Bug #1042819 reported by Dimitri John Ledkov
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
binutils (Ubuntu)
Invalid
Undecided
Unassigned
clang (Ubuntu)
Invalid
Undecided
Unassigned
llvm-3.0 (Ubuntu)
Triaged
Wishlist
Unassigned
llvm-3.1 (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

$ 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)
---
ApportVersion: 2.5.1-0ubuntu2
Architecture: amd64
DistroRelease: Ubuntu 12.10
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
Package: llvm-3.1
PackageArchitecture: amd64
ProcEnviron:
 LANGUAGE=en_GB:en
 TERM=xterm-256color
 PATH=(custom, user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 3.5.0-11.11-generic 3.5.2
Tags: quantal running-unity
Uname: Linux 3.5.0-11-generic x86_64
UpgradeStatus: Upgraded to quantal on 2012-01-04 (236 days ago)
UserGroups: adm admin cdrom dialout kvm libvirtd lp lpadmin plugdev sambashare sbuild vboxusers

Revision history for this message
Dimitri John Ledkov (xnox) wrote : Dependencies.txt

apport information

tags: added: apport-collected quantal running-unity
description: updated
Revision history for this message
Felix Geyer (debfx) wrote :

-use-gold-plugin only works if you are actually using the gold linker.
For example by passing -B/usr/lib/gold-ld to clang.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Ok. that works. I should RTFM =)

Changed in binutils (Ubuntu):
status: New → Invalid
Changed in clang (Ubuntu):
status: New → Invalid
Changed in llvm-3.0 (Ubuntu):
status: New → Invalid
Changed in llvm-3.1 (Ubuntu):
status: New → Invalid
Revision history for this message
Matthias Klose (doko) wrote :

maybe it would be a good idea to add that option automatically

Changed in llvm-3.0 (Ubuntu):
importance: Undecided → Wishlist
status: Invalid → Triaged
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.