[LLVMdev] LLVM LTO

Hal Finkel hfinkel at anl.gov
Thu Oct 10 19:01:39 PDT 2013


Rafael, Rui,

This is obviously an old thread, but in case there is interest, I've been able to get this to work (using the LLVM gold plugin with the ld.bfd linker). This requires some additional logic in the ld.bfd linker (and a small change to the bfd library). I've attached the patch (against binutils HEAD from 2013-09-17) in case anyone finds this useful. The core issue is that ld.bfd is currently setup to use the GCC LTO plugin, which produces its IR in an ELF container, and we don't. As a result, ld.bfd needs to ask the plugin if it would like to claim files of unknown format (in addition to querying for recognized object files).

 -Hal

P.S. For the record, I'm certainly not a binutils expert, this just seems to work for me.

----- Original Message -----
> On 1 August 2012 23:00, Sun, Rui <rui.sun at intel.com> wrote:
> > Hi,
> >
> >
> >
> > I am trying to use LLVM LTO. I read
> > http://llvm.org/docs/GoldPlugin.html and
> > have some questions. Could anyone help?
> >
> >
> >
> > 1.       Can LLVMgold.so work with BFD LD instead of gold? In the
> > description of changes in binutils 2.20, “* The plugin target has
> > been added
> > to bfd. It can load the same shared objects
> >
> > used by gold and uses them to provide basic support for new file
> > formats.”.
> > Does this mean BFD LD after 2.20 can support LLVMgold.so?  Ld
> > version on my
> > system is:
> >
> > GNU ld (GNU Binutils for Ubuntu) 2.21.53.20110810
> >
> 
> In theory it can, but I think it is completely untested.  I think
> that, as with gold, you have to build it with --enable-plugins.
> 
> >
> > 2.       Gold only supports ELF. If BFD LD can support LLVMgold,
> > can LTO be
> > applied to COFF objects after recompiling the binutils with
> > target==x86_64-pc-pe?
> 
> Double untested, but I guess it could be made to work :-)
> 
> >
> > Thanks!
> >
> > Rui
> >
> >
> 
> Cheers,
> Rafael
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ldbfd-bin-plugin.patch
Type: text/x-patch
Size: 2121 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131010/fc3217b5/attachment.bin>


More information about the llvm-dev mailing list