From 316d64ea1d484541990d2624c753ed9f0b895fca Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Sun, 8 Mar 2015 00:26:53 +0000 Subject: [PATCH] Revert r231545 to unbreak buildbot. This patch reverts r231545 "PECOFF: Do not add extraneous symbols to the dead strip root." CrWinClangLLD buildbot is currently broken. Since I can't reproduce the issue locally, I'm reverting the most relevant change. llvm-svn: 231582 --- lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp b/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp index 6abd689..5eec68c 100644 --- a/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp +++ b/lld/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp @@ -375,10 +375,8 @@ 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:= option. // The mapping for /alternatename is in the context object. This helper @@ -389,6 +387,10 @@ 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. -- 2.7.4