diff options
| author | Michael J. Spencer <bigcheesegs@gmail.com> | 2015-09-08 22:51:46 +0000 |
|---|---|---|
| committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2015-09-08 22:51:46 +0000 |
| commit | ac5f048e0906449cab9844736afc9cdf98811f57 (patch) | |
| tree | 3dd2eba7d7c85be101bfda9fedbd586ddeb50793 | |
| parent | 8d24ae9441eee4b6fe4512ba8262638deef11e07 (diff) | |
| download | bcm5719-llvm-ac5f048e0906449cab9844736afc9cdf98811f57.tar.gz bcm5719-llvm-ac5f048e0906449cab9844736afc9cdf98811f57.zip | |
[lld][elf2] Address review comments.
llvm-svn: 247096
| -rw-r--r-- | lld/ELF/SymbolTable.cpp | 5 | ||||
| -rw-r--r-- | lld/ELF/SymbolTable.h | 4 | ||||
| -rw-r--r-- | lld/ELF/Writer.cpp | 3 |
3 files changed, 4 insertions, 8 deletions
diff --git a/lld/ELF/SymbolTable.cpp b/lld/ELF/SymbolTable.cpp index e62297271ed..6275b13764e 100644 --- a/lld/ELF/SymbolTable.cpp +++ b/lld/ELF/SymbolTable.cpp @@ -17,8 +17,7 @@ using namespace llvm::object; using namespace lld; using namespace lld::elf2; -SymbolTable::SymbolTable() : EntrySym(nullptr) { -} +SymbolTable::SymbolTable() {} void SymbolTable::addFile(std::unique_ptr<InputFile> File) { File->parse(); @@ -33,8 +32,6 @@ void SymbolTable::addFile(std::unique_ptr<InputFile> File) { } template <class ELFT> void SymbolTable::init() { - if (EntrySym) - return; EntrySym = new (Alloc) Undefined<ELFT>("_start", Undefined<ELFT>::Synthetic); resolve<ELFT>(EntrySym); } diff --git a/lld/ELF/SymbolTable.h b/lld/ELF/SymbolTable.h index 356c9e40cca..42c49c6fbbc 100644 --- a/lld/ELF/SymbolTable.h +++ b/lld/ELF/SymbolTable.h @@ -55,7 +55,7 @@ public: } SymbolBody *getEntrySym() const { - return EntrySym; + return EntrySym->getReplacement(); } private: @@ -78,7 +78,7 @@ private: std::vector<std::unique_ptr<SharedFileBase>> SharedFiles; - SymbolBody *EntrySym; + SymbolBody *EntrySym = nullptr; }; } // namespace elf2 diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index 10dd162463c..779f832f5d2 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -577,8 +577,7 @@ template <class ELFT> void Writer<ELFT>::writeHeader() { auto &FirstObj = cast<ObjectFile<ELFT>>(*Symtab.getFirstELF()); EHdr->e_machine = FirstObj.getEMachine(); EHdr->e_version = EV_CURRENT; - EHdr->e_entry = getSymVA( - cast<DefinedRegular<ELFT>>(Symtab.getEntrySym()->getReplacement())); + EHdr->e_entry = getSymVA(cast<DefinedRegular<ELFT>>(Symtab.getEntrySym())); EHdr->e_phoff = sizeof(Elf_Ehdr); EHdr->e_shoff = SectionHeaderOff; EHdr->e_ehsize = sizeof(Elf_Ehdr); |

