diff --git a/src/write/elf/object.rs b/src/write/elf/object.rs index 0920a0dd..0746fe9b 100644 --- a/src/write/elf/object.rs +++ b/src/write/elf/object.rs @@ -598,10 +598,12 @@ impl<'a> Object<'a> { writer.reserve_symtab(); if writer.symtab_shndx_needed() { writer.reserve_symtab_shndx_section_index(); + writer.reserve_symtab_shndx(); + } + if writer.strtab_needed() { + writer.reserve_strtab_section_index(); + writer.reserve_strtab(); } - writer.reserve_symtab_shndx(); - writer.reserve_strtab_section_index(); - writer.reserve_strtab(); // Calculate size of relocations. for (index, section) in self.sections.iter().enumerate() {