diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2021-09-03 13:41:28 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2021-09-03 13:41:28 +0200 |
| commit | 1d2199b71c06e97be407c2bd0b05c07c8bd6cd2c (patch) | |
| tree | 56a2df545dc931f46ad0308a9ff0a60776ddd1f9 /src | |
| parent | 7536a2f8cfdd66fc3b277514ec28ccbedfe83fc1 (diff) | |
| download | zig-1d2199b71c06e97be407c2bd0b05c07c8bd6cd2c.tar.gz zig-1d2199b71c06e97be407c2bd0b05c07c8bd6cd2c.zip | |
macho: dirty export trie when adding globals
Similarly, dirty rebase info when adding a GOT atom.
Diffstat (limited to 'src')
| -rw-r--r-- | src/link/MachO.zig | 1 | ||||
| -rw-r--r-- | src/link/MachO/TextBlock.zig | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/link/MachO.zig b/src/link/MachO.zig index dfd70c4492..cd5a0218d1 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 160ba5cd8c..af9bf5b3eb 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 => { |
