summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2016-01-05 20:35:16 +0000
committerRui Ueyama <ruiu@google.com>2016-01-05 20:35:16 +0000
commit2ef58a18af665f7a993d094f1134faf8fc462e03 (patch)
tree5600e3e821ea10906bf720c1e789fd1cb87cd729
parenta0c242cdfde7fd25ab43639e062ad97feb830b05 (diff)
downloadbcm5719-llvm-2ef58a18af665f7a993d094f1134faf8fc462e03.tar.gz
bcm5719-llvm-2ef58a18af665f7a993d094f1134faf8fc462e03.zip
Remove SymbolTable::isUndefined.
Because it can be implemented outside of the symbol table. llvm-svn: 256869
-rw-r--r--lld/ELF/SymbolTable.cpp6
-rw-r--r--lld/ELF/SymbolTable.h1
-rw-r--r--lld/ELF/Writer.cpp10
3 files changed, 6 insertions, 11 deletions
diff --git a/lld/ELF/SymbolTable.cpp b/lld/ELF/SymbolTable.cpp
index 89ddfe969e3..0fbc836ff70 100644
--- a/lld/ELF/SymbolTable.cpp
+++ b/lld/ELF/SymbolTable.cpp
@@ -117,12 +117,6 @@ SymbolBody *SymbolTable<ELFT>::addIgnored(StringRef Name) {
return Sym;
}
-template <class ELFT> bool SymbolTable<ELFT>::isUndefined(StringRef Name) {
- if (SymbolBody *Sym = find(Name))
- return Sym->isUndefined();
- return false;
-}
-
// Returns a file from which symbol B was created.
// If B does not belong to any file, returns a nullptr.
template <class ELFT>
diff --git a/lld/ELF/SymbolTable.h b/lld/ELF/SymbolTable.h
index 1bd85abede6..41e4aac3af8 100644
--- a/lld/ELF/SymbolTable.h
+++ b/lld/ELF/SymbolTable.h
@@ -55,7 +55,6 @@ public:
void addSynthetic(StringRef Name, OutputSectionBase<ELFT> &Section,
typename llvm::object::ELFFile<ELFT>::uintX_t Value);
SymbolBody *addIgnored(StringRef Name);
- bool isUndefined(StringRef Name);
void scanShlibUndefined();
SymbolBody *find(StringRef Name);
ELFFileBase<ELFT> *findFile(SymbolBody *B);
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index 0c3752ee52d..2437a435657 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -955,10 +955,12 @@ void Writer<ELFT>::addStartStopSymbols(OutputSectionBase<ELFT> *Sec) {
StringSaver Saver(Alloc);
StringRef Start = Saver.save("__start_" + S);
StringRef Stop = Saver.save("__stop_" + S);
- if (Symtab.isUndefined(Start))
- Symtab.addSynthetic(Start, *Sec, 0);
- if (Symtab.isUndefined(Stop))
- Symtab.addSynthetic(Stop, *Sec, Sec->getSize());
+ if (SymbolBody *B = Symtab.find(Start))
+ if (B->isUndefined())
+ Symtab.addSynthetic(Start, *Sec, 0);
+ if (SymbolBody *B = Symtab.find(Stop))
+ if (B->isUndefined())
+ Symtab.addSynthetic(Stop, *Sec, Sec->getSize());
}
template <class ELFT> static bool needsPhdr(OutputSectionBase<ELFT> *Sec) {
OpenPOWER on IntegriCloud