<div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">No, just the merged library. Would be nice to use it in externals too, but that would probably require fiddling with the <br>
various external build systems to pass in the necessary flags and workaround the consequent bugs.<br></blockquote><div><br></div><div>Would it be simpler if we didn't have a separate<span style="color:rgb(0,0,0);font-family:-webkit-standard;font-size:medium"> </span>gb_LTOFLAGS but simply added the LTO flags into $CC and $CXX (or $CFLAGS)?</div><div><br></div><div>I think that at least with Apple's linker, using "Thin" LTO (<a href="https://blog.llvm.org/posts/2016-06-21-thinlto-scalable-and-incremental-lto/">https://blog.llvm.org/posts/2016-06-21-thinlto-scalable-and-incremental-lto/</a> ) is supposed to be quite transparent. You just compile all (or even just a subset) of your source code with -flto=thin, and the linker will notice and apply LTO to those objects. You will just notice the increased link time, (Probably offset by somewhat decreased compile time, though.)</div><div><br></div><div>The -flto=thin mode is available also in Clang on LInux, but, as you say, then you need to know that the linker that gets used also supports it. </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
Probably only worth doing for things that show up in profiles (icu comes to mind)<br></blockquote><div><br></div><div>Probably nss? The crypto stuff there likely shows up in a profile if you load or save password-protected (i.e. encrypted) ODF documents.</div><div><br></div><div>--tml</div></div></div></div></div>