diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/MC/ELFObjectWriter.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/MC/ELFObjectWriter.cpp b/lib/MC/ELFObjectWriter.cpp index 120789b6fd..b60271f1b2 100644 --- a/lib/MC/ELFObjectWriter.cpp +++ b/lib/MC/ELFObjectWriter.cpp @@ -689,12 +689,15 @@ void ELFObjectWriterImpl::ComputeSymbolTable(MCAssembler &Asm) { const MCSymbol &Symbol = it->getSymbol(); // Ignore non-linker visible symbols. - if (!Asm.isSymbolLinkerVisible(Symbol)) + if (!Asm.isSymbolLinkerVisible(Symbol) && !Symbol.isUndefined()) continue; if (!it->isExternal() && !Symbol.isUndefined()) continue; + if (Symbol.isVariable()) + continue; + uint64_t &Entry = StringIndexMap[Symbol.getName()]; if (!Entry) { Entry = StringTable.size(); |