aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/link/Elf/AtomList.zig3
-rw-r--r--src/link/Elf/merge_section.zig4
2 files changed, 7 insertions, 0 deletions
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);