From ff51abcc524216c928cf97d3453691108bb24d9a Mon Sep 17 00:00:00 2001 From: Denis Protivensky Date: Thu, 2 Apr 2015 07:03:44 +0000 Subject: [PATCH] [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. llvm-svn: 233899 --- lld/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lld/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h b/lld/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h index 3ccb519d37b9..e6210cc638b6 100644 --- a/lld/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h +++ b/lld/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h @@ -111,8 +111,10 @@ std::error_code ARMExecutableWriter::setELFHeader() { if (const auto *ea = dyn_cast(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.