<div dir="ltr">Hello Jessica,<br><br>This commit broke test step on one of our builders:<br><a href="http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/8984">http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/8984</a><br>. . . <br>Failing Tests (1):<br>    LLVM :: MC/AArch64/arm64-no-section.ll<br><br>Please have a look?<br><br>The builder was red already and did not send notifications.<br><br>Thanks<br><br>Galina<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 10, 2018 at 8:53 AM, Jessica Paquette via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: paquette<br>
Date: Tue Apr 10 08:53:28 2018<br>
New Revision: 329716<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=329716&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=329716&view=rev</a><br>
Log:<br>
Add missing nullptr check to AArch64MachObjectWriter::<wbr>recordRelocation<br>
<br>
There was missing nullptr check before a call to getSection() in<br>
recordRelocation. This would result in a segfault in code like the attached<br>
test.<br>
<br>
This adds the missing check and a test which makes sure we get the expected<br>
error output.<br>
<br>
<br>
Added:<br>
    llvm/trunk/test/MC/AArch64/<wbr>arm64-no-section.ll<br>
Modified:<br>
    llvm/trunk/lib/Target/AArch64/<wbr>MCTargetDesc/<wbr>AArch64MachObjectWriter.cpp<br>
<br>
Modified: llvm/trunk/lib/Target/AArch64/<wbr>MCTargetDesc/<wbr>AArch64MachObjectWriter.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp?rev=329716&r1=329715&r2=329716&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>AArch64/MCTargetDesc/<wbr>AArch64MachObjectWriter.cpp?<wbr>rev=329716&r1=329715&r2=<wbr>329716&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/lib/Target/AArch64/<wbr>MCTargetDesc/<wbr>AArch64MachObjectWriter.cpp (original)<br>
+++ llvm/trunk/lib/Target/AArch64/<wbr>MCTargetDesc/<wbr>AArch64MachObjectWriter.cpp Tue Apr 10 08:53:28 2018<br>
@@ -305,7 +305,8 @@ void AArch64MachObjectWriter::<wbr>recordRelo<br>
<br>
     bool CanUseLocalRelocation =<br>
         canUseLocalRelocation(Section, *Symbol, Log2Size);<br>
-    if (Symbol->isTemporary() && (Value || !CanUseLocalRelocation)) {<br>
+    if (Symbol->isTemporary() && Symbol->isInSection() &&<br>
+        (Value || !CanUseLocalRelocation)) {<br>
       const MCSection &Sec = Symbol->getSection();<br>
       if (!Asm.getContext().getAsmInfo(<wbr>)-><wbr>isSectionAtomizableBySymbols(<wbr>Sec))<br>
         Symbol->setUsedInReloc();<br>
<br>
Added: llvm/trunk/test/MC/AArch64/<wbr>arm64-no-section.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AArch64/arm64-no-section.ll?rev=329716&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/test/MC/<wbr>AArch64/arm64-no-section.ll?<wbr>rev=329716&view=auto</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/test/MC/AArch64/<wbr>arm64-no-section.ll (added)<br>
+++ llvm/trunk/test/MC/AArch64/<wbr>arm64-no-section.ll Tue Apr 10 08:53:28 2018<br>
@@ -0,0 +1,10 @@<br>
+; RUN: llc -mtriple=aarch64-darwin-- -filetype=obj %s -o -<br>
+; CHECK: <inline asm>:1:2: error: unsupported relocation of local symbol<br>
+; CHECK-SAME: 'L_foo_end'. Must have non-local symbol earlier in section.<br>
+<br>
+; Make sure that we emit an error when we try to reference something that<br>
+; doesn't belong to a section.<br>
+define void @foo() local_unnamed_addr {<br>
+  tail call void asm sideeffect "b L_foo_end\0A", ""()<br>
+  ret void<br>
+}<br>
<br>
<br>
______________________________<wbr>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>