summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/ELF/Writer.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index 5978d7b457a..51fb96f3cf7 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -237,19 +237,14 @@ public:
*P++ = NumSymbols; // nbucket
*P++ = NumSymbols; // nchain
- std::vector<uint32_t> Buckets(NumSymbols);
- std::vector<uint32_t> Chains(NumSymbols);
+ Elf_Word *Buckets = P;
+ Elf_Word *Chains = P + NumSymbols;
for (unsigned I = 1; I < NumSymbols; ++I) {
uint32_t Hash = Hashes[I - 1] % NumSymbols;
Chains[I] = Buckets[Hash];
Buckets[Hash] = I;
}
-
- for (uint32_t V : Buckets)
- *P++ = V;
- for (uint32_t V : Chains)
- *P++ = V;
}
SymbolTableSection<ELFT> &getDynSymSec() { return DynSymSec; }
OpenPOWER on IntegriCloud