| author | |
| committer | |
| log | 38ecaf3ab6c71aae213edbd38b8f661a03035b3a |
| tree | f8aba91386c89374bb871ce3008a9e2022f1be7a |
| parent | eba280ce20d308ec0abb17719ab4cc43a27901eb |
2 files changed, 4 insertions(+), 0 deletions(-)
src/link/MachO.zig+3| ... | @@ -613,6 +613,9 @@ pub fn flushModule(self: *MachO, comp: *Compilation, prog_node: *std.Progress.No | ... | @@ -613,6 +613,9 @@ pub fn flushModule(self: *MachO, comp: *Compilation, prog_node: *std.Progress.No |
| 613 | if (self.dyld_stub_binder_index == null) { | 613 | if (self.dyld_stub_binder_index == null) { |
| 614 | self.dyld_stub_binder_index = try self.addUndefined("dyld_stub_binder", .add_got); | 614 | self.dyld_stub_binder_index = try self.addUndefined("dyld_stub_binder", .add_got); |
| 615 | } | 615 | } |
| 616 | if (!self.base.options.single_threaded) { | ||
| 617 | _ = try self.addUndefined("_tlv_bootstrap", .none); | ||
| 618 | } | ||
| 616 | 619 | ||
| 617 | try self.createMhExecuteHeaderSymbol(); | 620 | try self.createMhExecuteHeaderSymbol(); |
| 618 | 621 |
src/link/MachO/Relocation.zig+1| ... | @@ -48,6 +48,7 @@ pub fn isResolvable(self: Relocation, macho_file: *MachO) bool { | ... | @@ -48,6 +48,7 @@ pub fn isResolvable(self: Relocation, macho_file: *MachO) bool { |
| 48 | pub fn getTargetAtomIndex(self: Relocation, macho_file: *MachO) ?Atom.Index { | 48 | pub fn getTargetAtomIndex(self: Relocation, macho_file: *MachO) ?Atom.Index { |
| 49 | switch (self.type) { | 49 | switch (self.type) { |
| 50 | .got, .got_page, .got_pageoff => return macho_file.getGotAtomIndexForSymbol(self.target), | 50 | .got, .got_page, .got_pageoff => return macho_file.getGotAtomIndexForSymbol(self.target), |
| 51 | .tlv, .tlv_page, .tlv_pageoff => return macho_file.getTlvpAtomIndexForSymbol(self.target), | ||
| 51 | else => {}, | 52 | else => {}, |
| 52 | } | 53 | } |
| 53 | if (macho_file.getStubsAtomIndexForSymbol(self.target)) |stubs_atom| return stubs_atom; | 54 | if (macho_file.getStubsAtomIndexForSymbol(self.target)) |stubs_atom| return stubs_atom; |