[LLVMdev] clang -emit-llvm uses system ld

Gregory Malecha gmalecha at eecs.harvard.edu
Wed Jun 29 17:56:29 PDT 2011


Hi Rafael,

I've tried the LTO options with dragonegg, but I haven't had any luck
getting it to work, I'm not sure if it is related to my installation of gold
or my gcc configuration.

I'm really interested in getting the resulting program as bitcode though.
Will LTO do that for me? What I'm trying to do is build a bitcode version of
libc that I can combine with a program and analyze/optimize the resulting
program.



2011/6/28 Rafael Ávila de Espíndola <rafael.espindola at gmail.com>

> On 11-06-28 10:45 PM, Gregory Malecha wrote:
> > Hello,
> >
> > I've been trying to build some normal linux applications with clang and I
> keep running into a snag in configure scripts. Perhaps these scripts are not
> written very well, but the current clang behavior seems strange. When I run
> clang with the -emit-llvm option, it still uses /usr/bin/ld as the linker
> which fails to compile llvm bitcode on linux (though it works on mac).
> Here's a simple example:
> >
> > $ cat > test.c
> > int main(void) { return 0; }
> > $ clang -emit-llvm test.c
> > /tmp/cc-pDfs56.o: file not recognized: File format not recognized
> > clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
> > $ clang -emit-llvm test.c -c
> > $
> >
> > It seems to me that clang should call llvm-ld when it generates llvm code
> and ld otherwise, but maybe there's something that I have configured
> incorrectly. What is the appropriate way to address this?
>
> llvm-ld is not a full replacement for a system ld. If you want to do LTO
> (which is why I assume you
> are using -emit-llvm), you should use a linker that support it. Gold
> support plugins and can
> use the LLVM one. Recently gnu ld implemented the same interface, but I
> haven't tested it.
>
> http://llvm.org/docs/GoldPlugin.html
>
> > Thanks.
>
> Cheers,
> Rafael
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>



-- 
gregory malecha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110629/44db9eb7/attachment.html>


More information about the llvm-dev mailing list