[lld] r233899 - [ARM] Report fatal error for wrong ARM entry point

Denis Protivensky dprotivensky at accesssoftek.com
Thu Apr 2 23:20:36 PDT 2015


Let me see if I can write a test for this.

On 04/02/2015 06:02 PM, David Blaikie wrote:


On Thu, Apr 2, 2015 at 12:03 AM, Denis Protivensky <dprotivensky at accesssoftek.com<mailto:dprotivensky at accesssoftek.com>> wrote:
Author: denis-protivensky
Date: Thu Apr  2 02:03:44 2015
New Revision: 233899

URL: http://llvm.org/viewvc/llvm-project?rev=233899&view=rev
Log:
[ARM] Report fatal error for wrong ARM entry point

The case is possible with wrong input, so report
an error instead of using llvm_unreachable.

Is this testable?


Modified:
    lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h

Modified: lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h?rev=233899&r1=233898&r2=233899&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h Thu Apr  2 02:03:44 2015
@@ -111,8 +111,10 @@ std::error_code ARMExecutableWriter<ELFT
     if (const auto *ea = dyn_cast<DefinedAtom>(al->_atom)) {
       switch (ea->codeModel()) {
       case DefinedAtom::codeNA:
-        if (al->_virtualAddr & 0x3)
-          llvm_unreachable("Two least bits must be zero for ARM entry point");
+        if (al->_virtualAddr & 0x3) {
+          llvm::report_fatal_error(
+              "Two least bits must be zero for ARM entry point");
+        }
       break;
       case DefinedAtom::codeARMThumb:
         // Fixup entry point for Thumb code.


_______________________________________________
llvm-commits mailing list
llvm-commits at cs.uiuc.edu<mailto:llvm-commits at cs.uiuc.edu>
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150402/b1650dde/attachment.html>


More information about the llvm-commits mailing list