<div dir="ltr">What program did you use to test the feature, and what was missing information? I'd like to file that as a bug so that we can fix this later.</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 16, 2017 at 2:34 PM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">FWIW - selfhosting I did find that GDB wasn't able to find the source code for some functions when using LLD's gdb_index, so I've switched back to gold+gdb_index for now (given the performance problems you mentioned, sounds like I wasn't gaining much/anything in terms of link time by using lld anyway).<div><div class="h5"><br><br><div class="gmail_quote"><div dir="ltr">On Thu, Mar 16, 2017 at 11:17 AM Rui Ueyama <<a href="mailto:ruiu@google.com" target="_blank">ruiu@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="m_6120452465377505700gmail_msg"><div class="gmail_extra m_6120452465377505700gmail_msg"><div class="gmail_quote m_6120452465377505700gmail_msg">I personally haven't tried gdb_index, and I don't know the quality of the produced index. Most of the code was written by George.</div><div class="gmail_quote m_6120452465377505700gmail_msg"><br class="m_6120452465377505700gmail_msg"></div><div class="gmail_quote m_6120452465377505700gmail_msg">One thing I noticed about the feature (and filed asĀ <a href="http://bugs.llvm.org/show_bug.cgi?id=32228" class="m_6120452465377505700gmail_msg" target="_blank">http://bugs.llvm.org/show_<wbr>bug.cgi?id=32228</a>) is that our gdb_index feature is much slower than the gold. Apparently there's room for improvement.</div></div></div><div dir="ltr" class="m_6120452465377505700gmail_msg"><div class="gmail_extra m_6120452465377505700gmail_msg"><div class="gmail_quote m_6120452465377505700gmail_msg"><br class="m_6120452465377505700gmail_msg"></div><div class="gmail_quote m_6120452465377505700gmail_msg">On Thu, Mar 16, 2017 at 8:35 AM, David Blaikie <span dir="ltr" class="m_6120452465377505700gmail_msg"><<a href="mailto:dblaikie@gmail.com" class="m_6120452465377505700gmail_msg" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br class="m_6120452465377505700gmail_msg"><blockquote class="gmail_quote m_6120452465377505700gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_6120452465377505700gmail_msg">Any idea of the quality/completeness of the gdb_index support? I've started using gdb_index recently (reduces GDB startup time for Clang from 50 seconds to 3 seconds - though I haven't measure how much it increases link time*) & it's really handy. Would love to have some assurance it's expected to work for LLD.<br class="m_6120452465377505700gmail_msg"><br class="m_6120452465377505700gmail_msg">Simple experiments seem to indicate that it's OK/good. Though a quick llvm-dwarfdump of gdb_index between the two linkers shows about a 10% disparity in size (LLD's is smaller) given the same inputs. (219MB v 196MB of text dumped - I didn't compare the actual section sizes)<div class="m_6120452465377505700gmail_msg"><br class="m_6120452465377505700gmail_msg">*though honestly I'd be willing to trade startup time for link time 1:1 even, because builds/links are already long enough that I go off and do something else - whereas getting GDB start down to 3 seconds, I can start writing my breakpoint command, etc, in those 3 seconds and be all but unaffected by it - at 50 seconds I basically have to go off and do something else/context switch/etc.<br class="m_6120452465377505700gmail_msg"><br class="m_6120452465377505700gmail_msg"><div class="gmail_quote m_6120452465377505700gmail_msg"><div class="m_6120452465377505700gmail_msg"><div class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765h5 m_6120452465377505700gmail_msg"><div dir="ltr" class="m_6120452465377505700gmail_msg">On Tue, Mar 14, 2017 at 11:40 AM Rui Ueyama via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="m_6120452465377505700gmail_msg" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br class="m_6120452465377505700gmail_msg"></div></div></div><blockquote class="gmail_quote m_6120452465377505700gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_6120452465377505700gmail_msg"><div class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765h5 m_6120452465377505700gmail_msg"><div dir="ltr" class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg">Hi all,<div class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg"><br class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg"></div><div class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg">LLVM 4.0.0 is out, and I can say that LLD/ELF is now ready for production use at least for x86-64 (and probably for AArch64 and MIPS). I believe you've heard a few good news about the linker -- it <a href="http://lld.llvm.org/#features" class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg" target="_blank">just works</a> and is <a href="http://lld.llvm.org/#performance" class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg" target="_blank">very fast</a>, clean, compact and supported by the active community. I don't think I need to reiterate why having a good linker is important for us as the LLVM community.</div><div class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg"><br class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg"></div><div class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg">There's one thing you can help us without writing even a line of code. Please use it!</div><div class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg"><br class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg"></div><div class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg">Using LLD to link LLVM/clang/etc is easy. You need to check out the LLD repository just like you probably already did for clang, build it, and then install it. LLD will be installed as ld.lld (and it won't be used by default.) After that, re-run cmake with -DLLVM_ENABLE_LLD=On along with your usual options so that LLD will be used to build LLVM.</div><div class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg"><br class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg"></div><div class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg">For the details of the build process, please see <a href="http://lld.llvm.org/#build" class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg" target="_blank">http://lld.llvm.org/#build</a>.</div><div class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg"><br class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg"></div><div class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg">Thanks,</div><div class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg">Rui</div></div></div></div><span class="m_6120452465377505700gmail_msg">
______________________________<wbr>_________________<br class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg">
LLVM Developers mailing list<br class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg">
<a href="mailto:llvm-dev@lists.llvm.org" class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg" target="_blank">llvm-dev@lists.llvm.org</a><br class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br class="m_6120452465377505700m_2919265252878672118gmail-m_3190918606171948765m_-8711519152332253609gmail_msg m_6120452465377505700gmail_msg">
</span></blockquote></div></div></div>
</blockquote></div><br class="m_6120452465377505700gmail_msg"></div></div></blockquote></div></div></div></div>
</blockquote></div><br></div>