[lld] r189534 - [PECOFF] Do not create undefined atom for common symbol.
Rui Ueyama
ruiu at google.com
Wed Aug 28 16:16:05 PDT 2013
Author: ruiu
Date: Wed Aug 28 18:16:04 2013
New Revision: 189534
URL: http://llvm.org/viewvc/llvm-project?rev=189534&view=rev
Log:
[PECOFF] Do not create undefined atom for common symbol.
We were creating undefined atoms for common symbols by mistake. That did not
lead to a link failure, for undefined atoms would be resolved by common symbols
in the same file, but that's a waste of resource.
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=189534&r1=189533&r2=189534&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp Wed Aug 28 18:16:04 2013
@@ -221,7 +221,8 @@ private:
void createUndefinedAtoms(const SymbolVectorT &symbols,
vector<const UndefinedAtom *> &result) {
for (const coff_symbol *sym : symbols) {
- if (sym->SectionNumber != llvm::COFF::IMAGE_SYM_UNDEFINED)
+ if (sym->SectionNumber != llvm::COFF::IMAGE_SYM_UNDEFINED ||
+ sym->Value != 0)
continue;
auto *atom = new (_alloc) COFFUndefinedAtom(*this, _symbolName[sym]);
result.push_back(atom);
More information about the llvm-commits
mailing list