[LLVMdev] clang -emit-llvm uses system ld

Duncan Sands baldrick at free.fr
Wed Jun 29 23:32:58 PDT 2011


Hi Gregory,

> I've tried the LTO options with dragonegg, but I haven't had any luck getting it
> to work,

details?

Ciao, Duncan.

  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
> <mailto: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 <mailto:LLVMdev at cs.uiuc.edu> http://llvm.cs.uiuc.edu
>     http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
>
> --
> gregory malecha
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list