<div dir="ltr">For clang build, cmake flags:<div><br></div><div><div> -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=gold \</div><div> -DCMAKE_MODULE_LINKER_FLAGS=-fuse-ld=gold \</div><div> -DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=gold \</div></div><div><br></div><div>David</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 3, 2016 at 5:04 PM, Carsten Mattner via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, Oct 3, 2016 at 10:54 PM, Teresa Johnson <<a href="mailto:tejohnson@google.com">tejohnson@google.com</a>> wrote:<br>
><br>
> Aha - finally reproduced! The difference is using ld.bfd not<br>
> ld.gold. With that I get the same failure (using 3.9 to build 3.9<br>
> sources):<br>
<br>
Thanks a lot!<br>
<br>
[...]<br>
<br>
> I am not sure what the official support story is for LLVMgold.so and<br>
> ld.bfd. As mentioned earlier, the LLVM site indicates it should use<br>
> the gold linker. Can you use that while I try to figure out whether<br>
> this is something that should be supported/working?<br>
<br>
I'm probably confused but I was under the impression that I am using<br>
ld.gold due to the use of llvm-ar and llvm-ranlib and having enabled<br>
ThinLTO, which, if not strictly required with ld.bfd >=2.26, prefers<br>
ld.gold.<br>
<br>
Anyway, if I extend CFLAGS and CXXFLAGS with -fuse-ld=gold, then<br>
ld.gold terminates with<br>
<br>
/usr/bin/ld.gold: fatal error: --plugin-opt requires --plugin<br>
<br>
According to the manpage the compile driver, if passed -fuse-ld=gold,<br>
will use ld.gold, so I added that to CFLAGS and CXXFLAGS before<br>
running cmake. The above was how far I got without further insight<br>
what I might have missed.<br>
<br>
I also tried setting LD=ld.gold, but that wasn't really respected by<br>
cmake, judging by how the ld actually used complained about the<br>
unsupport -Wl options (those which you suggested for aggressive<br>
pruning and which are not universal).<br>
<br>
Which are:<br>
-Wl,--gc-sections<br>
-Wl,-plugin-opt,-function-<wbr>sections<br>
-Wl,-plugin-opt,-data-<wbr>sections"<br>
<br>
What's the right way to enable ld.gold explicitly when configuring<br>
llvm with cmake?<br>
______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
</blockquote></div><br></div>