[lld] r231610 - Re-commit r231545: PECOFF: Do not add extraneous symbols to the dead strip root

Rui Ueyama ruiu at google.com
Sun Mar 8 14:31:36 PDT 2015


Author: ruiu
Date: Sun Mar  8 16:31:36 2015
New Revision: 231610

URL: http://llvm.org/viewvc/llvm-project?rev=231610&view=rev
Log:
Re-commit r231545: PECOFF: Do not add extraneous symbols to the dead strip root

That commit was reverted in r231582 as it was a culprit for
buildbot breakage. Turned out it's not.

Modified:
    lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp

Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp?rev=231610&r1=231609&r2=231610&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp Sun Mar  8 16:31:36 2015
@@ -375,8 +375,10 @@ void FileCOFF::beforeLink() {
 
   // Add /INCLUDE'ed symbols to the file as if they existed in the
   // file as undefined symbols.
-  for (StringRef sym : undefSyms)
+  for (StringRef sym : undefSyms) {
     addUndefinedSymbol(sym);
+    _ctx.addDeadStripRoot(sym);
+  }
 
   // One can define alias symbols using /alternatename:<sym>=<sym> option.
   // The mapping for /alternatename is in the context object. This helper
@@ -387,10 +389,6 @@ void FileCOFF::beforeLink() {
   // SEH. Disable SEH if the file being read is not compatible.
   if (!isCompatibleWithSEH())
     _ctx.setSafeSEH(false);
-
-  if (_ctx.deadStrip())
-    for (const UndefinedAtom *undef : undefined())
-      _ctx.addDeadStripRoot(undef->name());
 }
 
 /// Iterate over the symbol table to retrieve all symbols.





More information about the llvm-commits mailing list