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

Denis Protivensky dprotivensky at accesssoftek.com
Thu Apr 2 00:03:44 PDT 2015


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.

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.





More information about the llvm-commits mailing list