diff --git a/src/link/Elf/AtomList.zig b/src/link/Elf/AtomList.zig index 5fc1893376..dfabbe0ff7 100644 --- a/src/link/Elf/AtomList.zig +++ b/src/link/Elf/AtomList.zig @@ -19,6 +19,9 @@ pub fn offset(list: AtomList, elf_file: *Elf) u64 { } pub fn updateSize(list: *AtomList, elf_file: *Elf) void { + // TODO perhaps a 'stale' flag would be better here? + list.size = 0; + list.alignment = .@"1"; for (list.atoms.items) |ref| { const atom_ptr = elf_file.atom(ref).?; assert(atom_ptr.alive); diff --git a/src/link/Elf/merge_section.zig b/src/link/Elf/merge_section.zig index cf6506a9ea..dc6239d738 100644 --- a/src/link/Elf/merge_section.zig +++ b/src/link/Elf/merge_section.zig @@ -95,6 +95,10 @@ pub const MergeSection = struct { } pub fn updateSize(msec: *MergeSection) void { + // TODO a 'stale' flag would be better here perhaps? + msec.size = 0; + msec.alignment = .@"1"; + msec.entsize = 0; for (msec.finalized_subsections.items) |msub_index| { const msub = msec.mergeSubsection(msub_index); assert(msub.alive);