diff options
-rw-r--r-- | lld/ELF/OutputSections.cpp | 3 | ||||
-rw-r--r-- | lld/ELF/Relocations.cpp | 1 | ||||
-rw-r--r-- | lld/ELF/Writer.cpp | 1 |
3 files changed, 1 insertions, 4 deletions
diff --git a/lld/ELF/OutputSections.cpp b/lld/ELF/OutputSections.cpp index af96052e3df..1901af20ea8 100644 --- a/lld/ELF/OutputSections.cpp +++ b/lld/ELF/OutputSections.cpp @@ -87,7 +87,6 @@ static bool compareByFilePosition(InputSection *A, InputSection *B) { template <class ELFT> void OutputSection::finalize() { if ((this->Flags & SHF_LINK_ORDER) && !this->Sections.empty()) { std::sort(Sections.begin(), Sections.end(), compareByFilePosition<ELFT>); - Size = 0; assignOffsets<ELFT>(); // We must preserve the link order dependency of sections with the @@ -133,7 +132,7 @@ void OutputSection::addSection(InputSectionBase *C) { // This function is called after we sort input sections // and scan relocations to setup sections' offsets. template <class ELFT> void OutputSection::assignOffsets() { - uint64_t Off = this->Size; + uint64_t Off = 0; for (InputSection *S : Sections) { Off = alignTo(Off, S->Alignment); S->OutSecOff = Off; diff --git a/lld/ELF/Relocations.cpp b/lld/ELF/Relocations.cpp index 6bc8748fee5..63cc8a29af6 100644 --- a/lld/ELF/Relocations.cpp +++ b/lld/ELF/Relocations.cpp @@ -886,7 +886,6 @@ static void mergeThunks(OutputSection *OS, std::merge(OS->Sections.begin(), OS->Sections.end(), Thunks.begin(), Thunks.end(), std::back_inserter(Tmp), MergeCmp); OS->Sections = std::move(Tmp); - OS->Size = 0; OS->assignOffsets<ELFT>(); } diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index 8045e086ffa..f834d3ea916 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -1025,7 +1025,6 @@ static void finalizeSynthetic(const std::vector<SyntheticSection *> &Sections) { for (SyntheticSection *SS : Sections) if (SS && SS->OutSec && !SS->empty()) { SS->finalizeContents(); - SS->OutSec->Size = 0; SS->OutSec->template assignOffsets<ELFT>(); } } |