diff --git a/src/link/MachO/Archive.zig b/src/link/MachO/Archive.zig index 1874d3292bf0aa27363d09d24eefea857e39a8cc..d222394ad5a109492df6964534d91bad7bc92e77 100644 --- a/src/link/MachO/Archive.zig +++ b/src/link/MachO/Archive.zig @@ -3,7 +3,7 @@ const Archive = @This(); const std = @import("std"); const assert = std.debug.assert; const fs = std.fs; -const log = std.log.scoped(.macho); +const log = std.log.scoped(.link); const macho = std.macho; const mem = std.mem; @@ -88,6 +88,7 @@ const ar_hdr = extern struct { }; pub fn deinit(self: *Archive, allocator: Allocator) void { + self.file.close(); for (self.toc.keys()) |*key| { allocator.free(key.*); } @@ -217,7 +218,7 @@ pub fn parseObject( const contents = try gpa.allocWithOptions(u8, object_size, @alignOf(u64), null); const amt = try reader.readAll(contents); if (amt != object_size) { - return error.Io; + return error.InputOutput; } var object = Object{ diff --git a/src/link/MachO/zld.zig b/src/link/MachO/zld.zig index f9688acf338de3263c75890c980fd2e859bec37d..8caecd246558a713c1df06689586f71528d25605 100644 --- a/src/link/MachO/zld.zig +++ b/src/link/MachO/zld.zig @@ -1420,10 +1420,6 @@ pub const Zld = struct { pub fn deinit(self: *Zld) void { const gpa = self.gpa; - for (self.archives.items) |archive| { - archive.file.close(); - } - self.tlv_ptr_entries.deinit(gpa); self.tlv_ptr_table.deinit(gpa); self.got_entries.deinit(gpa);