diff options
-rw-r--r-- | lld/ELF/Writer.cpp | 9 |
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; } |