On Sun, Jul 15, 2012 at 07:32:35PM +0200, Dimitry Andric wrote: > On 2012-07-15 15:39, Jakub Lach wrote: > > While this is old "bug" upstream: > > > > http://llvm.org/bugs/show_bug.cgi?id=8611 > > > > http://llvm.org/bugs/show_bug.cgi?id=8630 > > > > Here, > > > > (FreeBSD clang version 3.1 (branches/release_31 156863) 20120523 > > Target: x86_64-unknown-freebsd9.0) > > > > Passing -g during linking (which lot's of projects do by > > including CFLAGS in linking) I still get > > > > "clang: warning: argument unused during compilation: '-g'" > ... > On 2012-07-15 16:04, Jakub Lach wrote: > > Maybe I should include a question too, so I have better chance > > of getting answer :) > > > > Is this intended behaviour? > > This is a bit typical issue for clang, which originates in the way it > parses command line arguments: different parts of the compiler stages > 'claim' arguments, and any that are left at the end are reported as > unused. > > Regarding the LLVM PRs you mentioned, one could argue that passing '-g' > to the link stage is nonsensical, since ld cannot add debug information, > it can only remove it (via the '-s' flag). But since it is apparently > common to do this, it may be a bit too annoying to complain about it. > > In any case, upstream fixed it for Linux, but not for any other > operating system. I will make a similar fix for FreeBSD, and send it > upstream too.
Note that historical ld(1) did emited debugging information into resulting binary only if -g was specified, so the linker flag is not always 'meaningless'. I suspect that Solaris ld still behaves this way.
pgpRaO53aujil.pgp
Description: PGP signature