<div dir="ltr">I didn't mean what I said in a negative way. I think it just very plainly shows a user's perspective. We already know about the issues in my email (the libtool hack and that LLD is currently incompatible with GCC LTO). We know how to fix them too. But we didn't know exactly how problematic they are when tested in a relatively black-box fashion.<div><br></div><div>The way that Phoronix tested this is the most brutal possible way (replace /usr/bin/ld with LLD, and then a simple yes/no "does it work" on various software packages), but that is the bar that we want to get to, and this is a piece of information pointing us towards where we want to go.</div><div><br></div><div><br></div><div>-- Sean Silva </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Mar 19, 2017 at 4:53 AM, Renato Golin <span dir="ltr"><<a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 19 March 2017 at 01:06, Sean Silva via llvm-dev<br>
<span class=""><<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br>
> This seems to have caused some bad publicity:<br>
> <a href="https://www.reddit.com/r/programming/comments/601kn9/trying_out_llvm_40s_lld_linker/" rel="noreferrer" target="_blank">https://www.reddit.com/r/<wbr>programming/comments/601kn9/<wbr>trying_out_llvm_40s_lld_<wbr>linker/</a><br>
> One user even comes away with this impression: "As you can see in the link,<br>
> LLD is unable to link several projects. It's far from production ready."<br>
> (and I cannot blame them; LLD should "Just Work" with almost all major<br>
> open-source software packages, and failing 3, including a very common one<br>
> like libjpeg-turbo which is used by firefox and chromium, doesn't reflect<br>
> well)<br>
<br>
</span>Hi Sean,<br>
<br>
You can't avoid bad publicity, even if you do everything right. It<br>
took Rui almost a year more than it took me to think LLD was good<br>
enough for wider use, and it still wasn't.<br>
<br>
Do you know why? Because it never will.<br>
<br>
Toolchain development is a curse as much as it's an bless. You can do<br>
some amazing software and still be caught with your pants down on<br>
really simple cases. Different than almost every other software<br>
technology on the planet (modulo kernel), toolchains have to cope with<br>
a problem space that is so random, unpredictable and crazy, that it's<br>
literally impossible to compile every software on the planet. It just<br>
is.<br>
<br>
However, most non-toolchain / non-kernel developers will look at their<br>
new shiny tool, which claims "production use" and will think: "Oh,<br>
this *must* work on all the crazy things I've done in the past". Most<br>
of us know this is non-sense and we shouldn't be deterred by comments<br>
like this. They're noise, not signal.<br>
<br>
The Phoronix article hints at something inspiring: All workloads were<br>
faster, and some were significantly faster. "Can't compile", as we<br>
know, can be a simple bug, user error, unsupported GNU extensions,<br>
lack of tests on that specific platform, etc. They should be fixed,<br>
yes, but they're not a reflection of your work, let alone "the only"<br>
reflection.<br>
<br>
Maybe one lesson we can learn from this is: don't use the words<br>
"production ready", but instead "user beta testing". It worked very<br>
well for Google for the past 10 years and can work for us, too. :)<br>
<span class=""><br>
<br>
> One user experiencing a segfault appears to have been kind enough to send us<br>
> a bug report: <a href="https://bugs.llvm.org/show_bug.cgi?id=32341" rel="noreferrer" target="_blank">https://bugs.llvm.org/show_<wbr>bug.cgi?id=32341</a><br>
<br>
</span>Most users are nice. So far, there was only one negative comment...<br>
Noise, in my view.<br>
<br>
The LLD developers are, in my view, doing an amazing job. Please,<br>
don't be affected by noise.<br>
<br>
cheers,<br>
--renato<br>
</blockquote></div><br></div>