diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2024-07-11 22:35:52 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2024-07-18 09:13:08 +0200 |
| commit | b62281a9c87caab22ff22fb783751a1cd784bcaa (patch) | |
| tree | 79a558be8ca1a37314d222c4b304d229eedefff2 /src/link/MachO.zig | |
| parent | 90c54f1eb6d34fb703b6c4e093580a0f2f70d559 (diff) | |
| download | zig-b62281a9c87caab22ff22fb783751a1cd784bcaa.tar.gz zig-b62281a9c87caab22ff22fb783751a1cd784bcaa.zip | |
macho: re-enable relocatable mode
Diffstat (limited to 'src/link/MachO.zig')
| -rw-r--r-- | src/link/MachO.zig | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/link/MachO.zig b/src/link/MachO.zig index 98c1eb2339..2b4005c1fe 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -290,10 +290,16 @@ pub fn deinit(self: *MachO) void { self.dylibs.deinit(gpa); self.segments.deinit(gpa); - for (self.sections.items(.atoms), self.sections.items(.out), self.sections.items(.thunks)) |*atoms, *out, *thnks| { + for ( + self.sections.items(.atoms), + self.sections.items(.out), + self.sections.items(.thunks), + self.sections.items(.relocs), + ) |*atoms, *out, *thnks, *relocs| { atoms.deinit(gpa); out.deinit(gpa); thnks.deinit(gpa); + relocs.deinit(gpa); } self.sections.deinit(gpa); @@ -1457,10 +1463,10 @@ pub fn dedupLiterals(self: *MachO) !void { fn claimUnresolved(self: *MachO) void { if (self.getZigObject()) |zo| { - zo.claimUnresolved(self); + zo.asFile().claimUnresolved(self); } for (self.objects.items) |index| { - self.getFile(index).?.object.claimUnresolved(self); + self.getFile(index).?.claimUnresolved(self); } } @@ -3987,6 +3993,7 @@ const Section = struct { last_atom_index: Atom.Index = 0, thunks: std.ArrayListUnmanaged(Thunk.Index) = .{}, out: std.ArrayListUnmanaged(u8) = .{}, + relocs: std.ArrayListUnmanaged(macho.relocation_info) = .{}, }; pub const LiteralPool = struct { |
