aboutsummaryrefslogtreecommitdiff
path: root/src/link
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2021-09-03 13:41:28 +0200
committerJakub Konka <kubkon@jakubkonka.com>2021-09-03 13:41:28 +0200
commit1d2199b71c06e97be407c2bd0b05c07c8bd6cd2c (patch)
tree56a2df545dc931f46ad0308a9ff0a60776ddd1f9 /src/link
parent7536a2f8cfdd66fc3b277514ec28ccbedfe83fc1 (diff)
downloadzig-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/link')
-rw-r--r--src/link/MachO.zig1
-rw-r--r--src/link/MachO/TextBlock.zig3
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 => {