Convert an use of OutputSections to OutputSectionCommands.
This allows moving clearOutputSections a bit earlier.
llvm-svn: 304947
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index 21b4dc8..206184b 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -1243,6 +1243,8 @@
In<ELFT>::VerSym, In<ELFT>::VerNeed, InX::Dynamic},
[](SyntheticSection *SS) { SS->finalizeContents(); });
+ clearOutputSections();
+
// Some architectures use small displacements for jump instructions.
// It is linker's responsibility to create thunks containing long
// jump instructions if jump targets are too far. Create thunks.
@@ -1254,13 +1256,11 @@
// are out of range. This will need to turn into a loop that converges
// when no more Thunks are added
ThunkCreator TC;
- if (TC.createThunks(OutputSections))
+ if (TC.createThunks(OutputSectionCommands))
applySynthetic({InX::MipsGot},
[](SyntheticSection *SS) { SS->updateAllocSize(); });
}
- clearOutputSections();
-
// Fill other section headers. The dynamic table is finalized
// at the end because some tags like RELSZ depend on result
// of finalizing other sections.