<p dir="ltr">Lgtm</p>
<div class="gmail_quote">On Mar 29, 2016 11:06 AM, "George Rimar" <<a href="mailto:grimar@accesssoftek.com">grimar@accesssoftek.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">grimar updated this revision to Diff 51916.<br>
grimar added a comment.<br>
<br>
- Removed useless arg for llvm-readobj in testcase<br>
<br>
<br>
<a href="http://reviews.llvm.org/D18554" rel="noreferrer" target="_blank">http://reviews.llvm.org/D18554</a><br>
<br>
Files:<br>
  ELF/Writer.cpp<br>
  test/ELF/local-undefined-symbol.s<br>
<br>
Index: test/ELF/local-undefined-symbol.s<br>
===================================================================<br>
--- test/ELF/local-undefined-symbol.s<br>
+++ test/ELF/local-undefined-symbol.s<br>
@@ -0,0 +1,13 @@<br>
+# REQUIRES: x86<br>
+# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t<br>
+# RUN: ld.lld %t -o %t1<br>
+# RUN: llvm-readobj -t %t1 | FileCheck %s<br>
+<br>
+# CHECK:     Symbols [<br>
+# CHECK-NOT:  Name: foo<br>
+<br>
+.global _start<br>
+_start:<br>
+ jmp foo<br>
+<br>
+.local foo<br>
Index: ELF/Writer.cpp<br>
===================================================================<br>
--- ELF/Writer.cpp<br>
+++ ELF/Writer.cpp<br>
@@ -520,6 +520,10 @@<br>
   if (Sym.getType() == STT_SECTION)<br>
     return Config->Relocatable;<br>
<br>
+  // No reason to keep local undefined symbol in symtab.<br>
+  if (Sym.st_shndx == SHN_UNDEF)<br>
+    return false;<br>
+<br>
   InputSectionBase<ELFT> *Sec = File.getSection(Sym);<br>
   // If sym references a section in a discarded group, don't keep it.<br>
   if (Sec == InputSection<ELFT>::Discarded)<br>
<br>
<br>
</blockquote></div>