Defined New(&F, Name, Binding, Visibility, Type, 0, 0, nullptr);
if (CanOmitFromDynSym)
New.ExportDynamic = false;
- return Symtab->addBitcode(New);
+ return Symtab->addDefined(New);
}
template <class ELFT>
return Old;
}
-Symbol *SymbolTable::addBitcode(const Defined &New) {
- Symbol *Old = insert(New);
- mergeProperties(Old, New);
-
- if (Old->isPlaceholder()) {
- replaceSymbol(Old, &New);
- return Old;
- }
-
- int Cmp = compare(Old, &New);
- if (Cmp > 0)
- replaceSymbol(Old, &New);
- else if (Cmp == 0)
- reportDuplicate(Old, New.File, nullptr, 0);
- return Old;
-}
-
Symbol *SymbolTable::find(StringRef Name) {
auto It = SymMap.find(CachedHashStringRef(Name));
if (It == SymMap.end())
Symbol *addShared(const SharedSymbol &New);
Symbol *addLazyArchive(const LazyArchive &New);
Symbol *addLazyObject(const LazyObject &New);
- Symbol *addBitcode(const Defined &New);
Symbol *addCommon(const CommonSymbol &New);
Symbol *insert(const Symbol &New);