<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 8, 2016 at 4:24 PM, Sean Silva 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">silvas created this revision.<br>
silvas added a reviewer: rafael.<br>
silvas added subscribers: llvm-commits, Bigcheese.<br>
Herald added a subscriber: joker.eph.<br>
<br>
I'm not sure whether the `if (GV)` is needed; I'm just following the<br>
code above which is checking the same thing. No tests fail when I remove<br>
both `if (GV)` checks.<br>
Rafael, any ideas?<br></blockquote><div><br></div><div>My usual approach for things like that is to change it to an assert, then do some broad testing (such as a bootstrap).</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<a href="http://reviews.llvm.org/D17974" rel="noreferrer" target="_blank">http://reviews.llvm.org/D17974</a><br>
<br>
Files:<br>
  ELF/InputFiles.cpp<br>
  test/ELF/lto/Inputs/tls-mixed.s<br>
  test/ELF/lto/tls-mixed.ll<br>
<br>
Index: test/ELF/lto/tls-mixed.ll<br>
===================================================================<br>
--- /dev/null<br>
+++ test/ELF/lto/tls-mixed.ll<br>
@@ -0,0 +1,10 @@<br>
+; REQUIRES: x86<br>
+; RUN: llvm-as %s -o %t1.o<br>
+; RUN: llvm-mc %p/Inputs/tls-mixed.s -o %t2.o -filetype=obj -triple=x86_64-pc-linux<br>
+; RUN: ld.lld -m elf_x86_64 %t1.o %t2.o -o %t.so -shared<br>
+<br>
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"<br>
+target triple = "x86_64-unknown-linux-gnu"<br>
+<br>
+; Should not encounter TLS-ness mismatch for @foo<br>
+@foo = external thread_local global i32, align 4<br>
Index: test/ELF/lto/Inputs/tls-mixed.s<br>
===================================================================<br>
--- /dev/null<br>
+++ test/ELF/lto/Inputs/tls-mixed.s<br>
@@ -0,0 +1,5 @@<br>
+.globl foo<br>
+.section .tbss,"awT",@nobits<br>
+.p2align 2<br>
+foo:<br>
+.long 0<br>
Index: ELF/InputFiles.cpp<br>
===================================================================<br>
--- ELF/InputFiles.cpp<br>
+++ ELF/InputFiles.cpp<br>
@@ -467,6 +467,8 @@<br>
     } else {<br>
       Body = new (Alloc) DefinedBitcode(NameRef, IsWeak, Visibility);<br>
     }<br>
+    if (GV)<br>
+      Body->IsTls = GV->isThreadLocal();<br>
     SymbolBodies.push_back(Body);<br>
   }<br>
 }<br>
<br>
<br>
<br>_______________________________________________<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/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div></div>