summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/ELFObjectWriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/MC/ELFObjectWriter.cpp')
-rw-r--r--llvm/lib/MC/ELFObjectWriter.cpp10
1 files changed, 1 insertions, 9 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp
index 39efaf16cf1..9bfe679b449 100644
--- a/llvm/lib/MC/ELFObjectWriter.cpp
+++ b/llvm/lib/MC/ELFObjectWriter.cpp
@@ -805,7 +805,6 @@ void ELFObjectWriter::computeSymbolTable(
std::vector<ELFSymbolData> LocalSymbolData;
std::vector<ELFSymbolData> ExternalSymbolData;
- std::vector<ELFSymbolData> UndefinedSymbolData;
// Add the data for the symbols.
bool HasLargeSectionIndex = false;
@@ -902,7 +901,7 @@ void ELFObjectWriter::computeSymbolTable(
MSD.Name = StrTabBuilder.add(Name);
if (MSD.SectionIndex == ELF::SHN_UNDEF)
- UndefinedSymbolData.push_back(MSD);
+ ExternalSymbolData.push_back(MSD);
else if (Local)
LocalSymbolData.push_back(MSD);
else
@@ -930,7 +929,6 @@ void ELFObjectWriter::computeSymbolTable(
// Symbols are required to be in lexicographic order.
array_pod_sort(LocalSymbolData.begin(), LocalSymbolData.end());
array_pod_sort(ExternalSymbolData.begin(), ExternalSymbolData.end());
- array_pod_sort(UndefinedSymbolData.begin(), UndefinedSymbolData.end());
// Set the symbol indices. Local symbols must come before all other
// symbols with non-local bindings.
@@ -954,12 +952,6 @@ void ELFObjectWriter::computeSymbolTable(
writeSymbol(Writer, StringIndex, MSD, Layout);
assert(MCELF::GetBinding(MSD.Symbol->getData()) != ELF::STB_LOCAL);
}
- for (ELFSymbolData &MSD : UndefinedSymbolData) {
- unsigned StringIndex = StrTabBuilder.getOffset(MSD.Name);
- MSD.Symbol->setIndex(Index++);
- writeSymbol(Writer, StringIndex, MSD, Layout);
- assert(MCELF::GetBinding(MSD.Symbol->getData()) != ELF::STB_LOCAL);
- }
uint64_t SecEnd = OS.tell();
SectionOffsets[SymtabSection] = std::make_pair(SecStart, SecEnd);
OpenPOWER on IntegriCloud