summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2015-09-08 22:51:46 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2015-09-08 22:51:46 +0000
commitac5f048e0906449cab9844736afc9cdf98811f57 (patch)
tree3dd2eba7d7c85be101bfda9fedbd586ddeb50793
parent8d24ae9441eee4b6fe4512ba8262638deef11e07 (diff)
downloadbcm5719-llvm-ac5f048e0906449cab9844736afc9cdf98811f57.tar.gz
bcm5719-llvm-ac5f048e0906449cab9844736afc9cdf98811f57.zip
[lld][elf2] Address review comments.
llvm-svn: 247096
-rw-r--r--lld/ELF/SymbolTable.cpp5
-rw-r--r--lld/ELF/SymbolTable.h4
-rw-r--r--lld/ELF/Writer.cpp3
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);
OpenPOWER on IntegriCloud