<html>
<head>
</head>
<body bgcolor="#FFFFFF" text="#000000">
Let me see if I can write a test for this.<br>
<br>
<div class="moz-cite-prefix">On 04/02/2015 06:02 PM, David Blaikie
wrote:<br>
</div>
<blockquote
cite="mid:CAENS6EvFvRRE=ge=QWXO2JLeptcyKV+-sttnwCoJqU-UZwh6cw@mail.gmail.com"
type="cite">
<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
moz-do-not-send="true"
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 moz-do-not-send="true"
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 moz-do-not-send="true"
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 moz-do-not-send="true"
href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a moz-do-not-send="true"
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>
</blockquote>
<br>
</body>
</html>