zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 1d2199b71c06e97be407c2bd0b05c07c8bd6cd2c (tree)
parent 7536a2f8cfdd66fc3b277514ec28ccbedfe83fc1
Author: Jakub Konka <kubkon@jakubkonka.com>
Date:   Fri,  3 Sep 2021 13:41:28 +0200

macho: dirty export trie when adding globals

Similarly, dirty rebase info when adding a GOT atom.

Diffstat:
Msrc/link/MachO.zig | 1+
Msrc/link/MachO/TextBlock.zig | 3+++
2 files changed, 4 insertions(+), 0 deletions(-)

diff --git 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 @@ -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 => {