diff --git a/src/link/Elf.zig b/src/link/Elf.zig index c27e4f166f..48e0320dc6 100644 --- a/src/link/Elf.zig +++ b/src/link/Elf.zig @@ -756,10 +756,11 @@ pub fn populateMissingMetadata(self: *Elf) !void { try self.writeSymbol(0); } - if (self.dwarf) |dw| { + if (self.dwarf) |*dw| { if (self.debug_str_section_index == null) { self.debug_str_section_index = @intCast(u16, self.sections.items.len); assert(dw.strtab.items.len == 0); + try dw.strtab.append(self.base.allocator, 0); try self.sections.append(self.base.allocator, .{ .sh_name = try self.makeString(".debug_str"), .sh_type = elf.SHT_PROGBITS, diff --git a/src/link/MachO/DebugSymbols.zig b/src/link/MachO/DebugSymbols.zig index a13ad9c9f4..7c22f441cd 100644 --- a/src/link/MachO/DebugSymbols.zig +++ b/src/link/MachO/DebugSymbols.zig @@ -83,6 +83,7 @@ pub fn populateMissingMetadata(self: *DebugSymbols) !void { if (self.debug_str_section_index == null) { assert(self.dwarf.strtab.items.len == 0); + try self.dwarf.strtab.append(self.allocator, 0); self.debug_str_section_index = try self.allocateSection( "__debug_str", @intCast(u32, self.dwarf.strtab.items.len),