diff --git a/src/link/MachO.zig b/src/link/MachO.zig index dfd70c4492422fac1b2e89d7218629be574b9d99..cd5a0218d1c001df72592226c8b667951f330d5f 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -2312,6 +2312,7 @@ fn resolveSymbolsInObject( .local_sym_index = local_sym_index, .file = object_id, }; + self.export_info_dirty = true; } else if (symbolIsTentative(sym)) { // Symbol is a tentative definition. const resolv = self.symbol_resolver.getPtr(n_strx) orelse { diff --git a/src/link/MachO/TextBlock.zig b/src/link/MachO/TextBlock.zig index 160ba5cd8c473de093540e89f9d87ab0d1a7fc16..af9bf5b3eb5e2a3d17438a0a8c80ad86f359f035 100644 --- a/src/link/MachO/TextBlock.zig +++ b/src/link/MachO/TextBlock.zig @@ -844,6 +844,9 @@ pub fn parseRelocs(self: *TextBlock, relocs: []macho.relocation_info, context: R .sect = context.macho_file.got_section_index.?, }; _ = try context.macho_file.allocateAtom(atom, match); + // TODO don't need both at once + context.macho_file.rebase_info_dirty = true; + context.macho_file.binding_info_dirty = true; } else if (parsed_rel.payload == .unsigned) { switch (parsed_rel.where) { .undef => {