diff options
| author | Rui Ueyama <ruiu@google.com> | 2019-05-28 06:33:06 +0000 |
|---|---|---|
| committer | Rui Ueyama <ruiu@google.com> | 2019-05-28 06:33:06 +0000 |
| commit | d8f8abbd4a2823f223bd7bc56445541fb221b512 (patch) | |
| tree | 7804f764a265df0a4f81469c3f988410cddbd513 /lld/ELF/SymbolTable.cpp | |
| parent | fe5eaab2b5b4523886bd63aebcfea8cfce586fa1 (diff) | |
| download | bcm5719-llvm-d8f8abbd4a2823f223bd7bc56445541fb221b512.tar.gz bcm5719-llvm-d8f8abbd4a2823f223bd7bc56445541fb221b512.zip | |
Use SymbolTable::insert() to implement --trace.
Differential Revision: https://reviews.llvm.org/D62381
llvm-svn: 361791
Diffstat (limited to 'lld/ELF/SymbolTable.cpp')
| -rw-r--r-- | lld/ELF/SymbolTable.cpp | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/lld/ELF/SymbolTable.cpp b/lld/ELF/SymbolTable.cpp index 9fc05d98366..c4d52b1168e 100644 --- a/lld/ELF/SymbolTable.cpp +++ b/lld/ELF/SymbolTable.cpp @@ -32,12 +32,6 @@ using namespace lld::elf; SymbolTable *elf::Symtab; -// Set a flag for --trace-symbol so that we can print out a log message -// if a new symbol with the same name is inserted into the symbol table. -void SymbolTable::trace(StringRef Name) { - SymMap.insert({CachedHashStringRef(Name), -1}); -} - void SymbolTable::wrap(Symbol *Sym, Symbol *Real, Symbol *Wrap) { // Swap symbols as instructed by -wrap. int &Idx1 = SymMap[CachedHashStringRef(Sym->getName())]; @@ -70,13 +64,6 @@ Symbol *SymbolTable::insert(StringRef Name) { auto P = SymMap.insert({CachedHashStringRef(Name), (int)SymVector.size()}); int &SymIndex = P.first->second; bool IsNew = P.second; - bool Traced = false; - - if (SymIndex == -1) { - SymIndex = SymVector.size(); - IsNew = true; - Traced = true; - } if (!IsNew) return SymVector[SymIndex]; @@ -91,7 +78,6 @@ Symbol *SymbolTable::insert(StringRef Name) { Sym->IsUsedInRegularObj = false; Sym->ExportDynamic = false; Sym->CanInline = true; - Sym->Traced = Traced; Sym->ScriptDefined = false; return Sym; } @@ -106,9 +92,10 @@ Symbol *SymbolTable::find(StringRef Name) { auto It = SymMap.find(CachedHashStringRef(Name)); if (It == SymMap.end()) return nullptr; - if (It->second == -1) + Symbol *Sym = SymVector[It->second]; + if (Sym->isPlaceholder()) return nullptr; - return SymVector[It->second]; + return Sym; } // Initialize DemangledSyms with a map from demangled symbols to symbol |

