Commit 1d2199b71c

Jakub Konka <kubkon@jakubkonka.com>
2021-09-03 13:41:28
macho: dirty export trie when adding globals
Similarly, dirty rebase info when adding a GOT atom.
1 parent 7536a2f
Changed files (2)
src
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 => {
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 {