<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 21, 2016 at 2:48 PM, Rui Ueyama 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"><div dir="ltr">It seems that it is repeating the same discussion again, unfortunately.</div></blockquote><div><br></div><div>For myself, I find this thread to contain a new discussion (is crashing by design) from the previous (is exit(1)/non-API-usable-behavior for obscure/erroneous inputs by design) discussion. Perhaps I misunderstood or didn't catch the part where crashing/assert/UB was included in the previous discussion.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"> I believe that everybody can at least accept either is reasonable choice.</div></blockquote><div><br></div><div>I'm less inclined to accept that UB/crash/assert failure is a reasonable choice for a release product (for a dev tool like bugpoint, llc, etc, I sort of accept it) even for obscure inputs.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"> Also, I'd like to mention that LLD developers who are actually hacking the thing everyday are thinking that that is a reasonable choice as far as I can tell. So why don't we go with the decision I wrote in the doc?</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 21, 2016 at 10:35 PM, James Molloy <span dir="ltr"><<a href="mailto:james@jamesmolloy.co.uk" target="_blank">james@jamesmolloy.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I was writing a response but David and Tim got there first more eloquently. +1 to both of them. <br><br>I also find your tone worryingly totalitarian, Rafael. <br><div><div><div class="gmail_quote"><div dir="ltr">On Mon, 21 Mar 2016 at 21:23, Rafael Espíndola <<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 21 March 2016 at 17:20, James Molloy via llvm-dev<br>
<<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
> Rafael,<br>
><br>
> How can a high quality product crash by design? I understand the lack of<br>
> structured error handling, and I understand asserting (which in release mode<br>
> would be silent) on internal errors. But on an input? How can an application<br>
> be taken seriously when crashes are design features?<br>
><br>
> And I certainly didn't see consensus or in fact the suggestion of this in<br>
> the other thread, unless I glazed over an important part.<br>
><br>
<br>
It can crash because .o files are not user input. They are generated.<br>
To get one you need a broken assembler or a broken hardware.<br>
<br>
Sorry if lld is not the linker you want, but that is the one we are writing.<br>
<br>
As for how it will be taken seriously, well, we seem to be on good<br>
track to be able to link freebsd and to do so faster than gold.<br>
<br>
Cheers,<br>
Rafael<br>
</blockquote></div>
</div></div></blockquote></div><br></div>
</div></div><br>_______________________________________________<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/mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div></div>