}
template <class ELFT>
-void
-ELFState<ELFT>::writeSectionContent(Elf_Shdr &SHeader,
- const ELFYAML::RawContentSection &Section,
- ContiguousBlobAccumulator &CBA) {
+void ELFState<ELFT>::writeSectionContent(
+ Elf_Shdr &SHeader, const ELFYAML::RawContentSection &Section,
+ ContiguousBlobAccumulator &CBA) {
assert(Section.Size >= Section.Content.binary_size() &&
"Section size and section content are inconsistent");
raw_ostream &OS =
CBA.getOSAndAlignedOffset(SHeader.sh_offset, SHeader.sh_addralign);
Section.Content.writeAsBinary(OS);
- for (auto i = Section.Content.binary_size(); i < Section.Size; ++i)
- OS.write(0);
+ OS.write_zeros(Section.Size - Section.Content.binary_size());
+
if (Section.EntSize)
SHeader.sh_entsize = *Section.EntSize;
else if (Section.Type == llvm::ELF::SHT_RELR)