macho: dirty export trie when adding globals

Similarly, dirty rebase info when adding a GOT atom.
This commit is contained in:
Jakub Konka 2021-09-03 13:41:28 +02:00
parent 7536a2f8cf
commit 1d2199b71c
2 changed files with 4 additions and 0 deletions

View File

@ -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 {

View File

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