diff options
Diffstat (limited to 'lld/ELF/SyntheticSections.cpp')
| -rw-r--r-- | lld/ELF/SyntheticSections.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lld/ELF/SyntheticSections.cpp b/lld/ELF/SyntheticSections.cpp index fb5b3238bcc..5ff8ac0fc75 100644 --- a/lld/ELF/SyntheticSections.cpp +++ b/lld/ELF/SyntheticSections.cpp @@ -2573,8 +2573,11 @@ void elf::mergeSections() { } (*I)->addSection(MS); } - for (auto *MS : MergeSections) + for (auto *MS : MergeSections) { MS->finalizeContents(); + parallelForEach(MS->Sections, + [](MergeInputSection *Sec) { Sec->initOffsetMap(); }); + } std::vector<InputSectionBase *> &V = InputSections; V.erase(std::remove(V.begin(), V.end(), nullptr), V.end()); |

