template <class ELFT>
void SymbolTableSection<ELFT>::addLocalSymbol(StringRef Name) {
StrTabSec.reserve(Name);
- ++NumVisible;
++NumLocals;
}
void SymbolTableSection<ELFT>::addSymbol(SymbolBody *Body) {
StrTabSec.reserve(Body->getName());
Symbols.push_back(Body);
- ++NumVisible;
}
template <class ELFT> void SymbolTableSection<ELFT>::writeTo(uint8_t *Buf) {
void addLocalSymbol(StringRef Name);
void addSymbol(SymbolBody *Body);
StringTableSection<ELFT> &getStrTabSec() const { return StrTabSec; }
- unsigned getNumSymbols() const { return NumVisible + 1; }
+ unsigned getNumSymbols() const { return NumLocals + Symbols.size() + 1; }
ArrayRef<SymbolBody *> getSymbols() const { return Symbols; }
SymbolTable<ELFT> &Table;
StringTableSection<ELFT> &StrTabSec;
std::vector<SymbolBody *> Symbols;
- unsigned NumVisible = 0;
unsigned NumLocals = 0;
};