| ... | @@ -697,6 +697,7 @@ fn addGotEntry(self: *Coff, target: SymbolWithLoc) !void { | ... | @@ -697,6 +697,7 @@ fn addGotEntry(self: *Coff, target: SymbolWithLoc) !void { |
| 697 | const got_index = try self.got_table.allocateEntry(self.base.allocator, target); | 697 | const got_index = try self.got_table.allocateEntry(self.base.allocator, target); |
| 698 | try self.writeOffsetTableEntry(got_index); | 698 | try self.writeOffsetTableEntry(got_index); |
| 699 | self.got_table_count_dirty = true; | 699 | self.got_table_count_dirty = true; |
| | 700 | self.markRelocsDirtyByTarget(target); |
| 700 | } | 701 | } |
| 701 | | 702 | |
| 702 | pub fn createAtom(self: *Coff) !Atom.Index { | 703 | pub fn createAtom(self: *Coff) !Atom.Index { |
| ... | @@ -1341,6 +1342,7 @@ fn updateDeclCode(self: *Coff, decl_index: Module.Decl.Index, code: []u8, comple | ... | @@ -1341,6 +1342,7 @@ fn updateDeclCode(self: *Coff, decl_index: Module.Decl.Index, code: []u8, comple |
| 1341 | log.debug(" (updating GOT entry)", .{}); | 1342 | log.debug(" (updating GOT entry)", .{}); |
| 1342 | const got_entry_index = self.got_table.lookup.get(.{ .sym_index = sym_index }).?; | 1343 | const got_entry_index = self.got_table.lookup.get(.{ .sym_index = sym_index }).?; |
| 1343 | try self.writeOffsetTableEntry(got_entry_index); | 1344 | try self.writeOffsetTableEntry(got_entry_index); |
| | 1345 | self.markRelocsDirtyByTarget(.{ .sym_index = sym_index }); |
| 1344 | } | 1346 | } |
| 1345 | } else if (code_len < atom.size) { | 1347 | } else if (code_len < atom.size) { |
| 1346 | self.shrinkAtom(atom_index, code_len); | 1348 | self.shrinkAtom(atom_index, code_len); |