I'm trying to figure out exactly what the function and status of the different linking tools is. The impression I get is: 1. For linking multiple bitcode (either binary or text format) files together, llvm-link is the current and future intended tool. 2. For converting bitcode files into (machine code) object files, llc is the current and future intended tool. 3. For linking multiple object files into an executable, llvm has hitherto relied on the system linker, but lld is the future intended tool. Is any of this inaccurate or incomplete? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150710/50719b47/attachment.html>
On Fri, Jul 10, 2015 at 3:37 PM Russell Wallace <russell.wallace at gmail.com> wrote:> I'm trying to figure out exactly what the function and status of the > different linking tools is. The impression I get is: > > 1. For linking multiple bitcode (either binary or text format) files > together, llvm-link is the current and future intended tool. > > 2. For converting bitcode files into (machine code) object files, llc is > the current and future intended tool. > >llvm-link and llc are developer tools only. clang is designed to be the interface here (or your language specific driver).> 3. For linking multiple object files into an executable, llvm has hitherto > relied on the system linker, but lld is the future intended tool. > >This is correct. -eric> Is any of this inaccurate or incomplete? > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150710/3c065c17/attachment.html>
On Fri, Jul 10, 2015 at 11:39 PM, Eric Christopher <echristo at gmail.com> wrote:> > > On Fri, Jul 10, 2015 at 3:37 PM Russell Wallace <russell.wallace at gmail.com> > wrote: > >> I'm trying to figure out exactly what the function and status of the >> different linking tools is. The impression I get is: >> >> 1. For linking multiple bitcode (either binary or text format) files >> together, llvm-link is the current and future intended tool. >> >> 2. For converting bitcode files into (machine code) object files, llc is >> the current and future intended tool. >> >> > llvm-link and llc are developer tools only. clang is designed to be the > interface here (or your language specific driver). >Okay so for linking bitcode files together, what's the intended command? That is, 'clang x.bc y.bc' will generate an executable, but for generating a single larger bitcode file? Adding -emit-llvm gives an error unless you also add -c, but that just rewrites the original small bitcode files? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150727/34d88011/attachment.html>