Remove a duplicated member variable. NFC.
This just makes it clear that, for now, there is only one symbol table.
llvm-svn: 245844
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index 9eb4b9a..9fe3270 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -123,6 +123,8 @@
void writeTo(uint8_t *Buf) override;
+ const SymbolTable &getSymTable() { return Table; }
+
private:
SymbolTable &Table;
};
@@ -133,7 +135,7 @@
typedef typename llvm::object::ELFFile<ELFT>::uintX_t uintX_t;
typedef typename llvm::object::ELFFile<ELFT>::Elf_Shdr Elf_Shdr;
Writer(SymbolTable *T)
- : Symtab(T), SymTable(*T), StringTable(T->getStringBuilder()) {}
+ : SymTable(*T), StringTable(T->getStringBuilder()) {}
void run();
private:
@@ -143,7 +145,6 @@
void writeHeader();
void writeSections();
- SymbolTable *Symtab;
std::unique_ptr<llvm::FileOutputBuffer> Buffer;
llvm::SpecificBumpPtrAllocator<OutputSection<ELFT>> CAlloc;
std::vector<OutputSectionBase<ELFT::Is64Bits> *> OutputSections;
@@ -289,7 +290,8 @@
// Create output section objects and add them to OutputSections.
template <class ELFT> void Writer<ELFT>::createSections() {
SmallDenseMap<SectionKey<ELFT::Is64Bits>, OutputSection<ELFT> *> Map;
- for (std::unique_ptr<ObjectFileBase> &FileB : Symtab->ObjectFiles) {
+ const SymbolTable &Symtab = SymTable.getSymTable();
+ for (const std::unique_ptr<ObjectFileBase> &FileB : Symtab.ObjectFiles) {
auto &File = cast<ObjectFile<ELFT>>(*FileB);
for (SectionChunk<ELFT> *C : File.getChunks()) {
const Elf_Shdr *H = C->getSectionHdr();
@@ -371,7 +373,8 @@
EHdr->e_ident[EI_OSABI] = ELFOSABI_NONE;
EHdr->e_type = ET_EXEC;
- auto &FirstObj = cast<ObjectFile<ELFT>>(*Symtab->ObjectFiles[0]);
+ const SymbolTable &Symtab = SymTable.getSymTable();
+ auto &FirstObj = cast<ObjectFile<ELFT>>(*Symtab.ObjectFiles[0]);
EHdr->e_machine = FirstObj.getObj()->getHeader()->e_machine;
EHdr->e_version = EV_CURRENT;
EHdr->e_entry = 0x401000;