<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Apr 2, 2015 at 12:03 AM, Denis Protivensky <span dir="ltr"><<a href="mailto:dprotivensky@accesssoftek.com" target="_blank">dprotivensky@accesssoftek.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: denis-protivensky<br>
Date: Thu Apr  2 02:03:44 2015<br>
New Revision: 233899<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=233899&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=233899&view=rev</a><br>
Log:<br>
[ARM] Report fatal error for wrong ARM entry point<br>
<br>
The case is possible with wrong input, so report<br>
an error instead of using llvm_unreachable.<br></blockquote><div><br>Is this testable?<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Modified:<br>
    lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h<br>
<br>
Modified: lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h?rev=233899&r1=233898&r2=233899&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h?rev=233899&r1=233898&r2=233899&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h (original)<br>
+++ lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h Thu Apr  2 02:03:44 2015<br>
@@ -111,8 +111,10 @@ std::error_code ARMExecutableWriter<ELFT<br>
     if (const auto *ea = dyn_cast<DefinedAtom>(al->_atom)) {<br>
       switch (ea->codeModel()) {<br>
       case DefinedAtom::codeNA:<br>
-        if (al->_virtualAddr & 0x3)<br>
-          llvm_unreachable("Two least bits must be zero for ARM entry point");<br>
+        if (al->_virtualAddr & 0x3) {<br>
+          llvm::report_fatal_error(<br>
+              "Two least bits must be zero for ARM entry point");<br>
+        }<br>
       break;<br>
       case DefinedAtom::codeARMThumb:<br>
         // Fixup entry point for Thumb code.<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div></div>