On Sat, Oct 1, 2016 at 3:47 PM, Xinliang David Li <xinliangli at gmail.com> wrote:> -plugin-opt is a gold linker option. Turn on gold linker with > -fuse-ld=gold >But something is odd then - if the builds aren't using gold then I don't see how ThinLTO could have been kicking in? Teresa> David > > On Sat, Oct 1, 2016 at 2:20 PM, Carsten Mattner via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hmm, something wasn't accepted in -Wl flags. >> >> clang -O2 -pipe -fstack-protector-strong >> --param=ssp-buffer-size=4 -march=x86-64 -mtune=generic >> -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu >> -Wl,--gc-sections -Wl,-plugin-opt,-function-sections >> -Wl,-plugin-opt,-data-sections CMakeFiles/cmTC_358cb.dir/test >> CCompiler.c.o >> -o cmTC_358cb && : >> >> /usr/bin/ld: bad -plugin-opt option >> >> clang-3.9: error: linker command failed with exit code 1 (use -v to see >> invocation) >> >> ninja: build stopped: subcommand failed. >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> > >-- Teresa Johnson | Software Engineer | tejohnson at google.com | 408-460-2413 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161001/89e9c58c/attachment.html>
On Sun, Oct 2, 2016 at 6:52 AM, Teresa Johnson <tejohnson at google.com> wrote:> But something is odd then - if the builds aren't using gold then I don't > see how ThinLTO could have been kicking in?I'm not an expert on LLVM's build process, but it's important to note that the failure was immediately upon trying to run cmake with the extended LDFLAGS, which now includes the extra flags to enable more pruning. My understaning was that ld.gold is required for the plugin to do ThinLTO, and given my observation before/after enabling llvm-ar/llvm-ranlib to make LTO work, and how long the ld processes took for executables and DSOs, I'm under the impression that ld.gold was actually used.
bfd linker 2.26 works fine with LLVMgold.so. As I mentioned in a previous email, 2.26 ar and ranlib also works fine as long as LLVMgold.so is put in a path binutils know about : $(bindir)/../lib/bfd-plugins/ David On Sun, Oct 2, 2016 at 3:59 AM, Carsten Mattner <carstenmattner at gmail.com> wrote:> On Sun, Oct 2, 2016 at 6:52 AM, Teresa Johnson <tejohnson at google.com> > wrote: > > > But something is odd then - if the builds aren't using gold then I don't > > see how ThinLTO could have been kicking in? > > I'm not an expert on LLVM's build process, but it's important to note that > the > failure was immediately upon trying to run cmake with the extended LDFLAGS, > which now includes the extra flags to enable more pruning. > > My understaning was that ld.gold is required for the plugin to do ThinLTO, > and given my observation before/after enabling llvm-ar/llvm-ranlib to make > LTO work, and how long the ld processes took for executables and DSOs, > I'm under the impression that ld.gold was actually used. >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161002/bbda371e/attachment.html>