authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2020-12-22 10:57:58+01:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2020-12-22 10:57:58+01:00
log34663abc9090d7b3afc2bc83d159c1d950b23e1d
tree574197640525af263c0679763634c70a7e635cbb
parentf106a46fd293605fab7cb776d36bb22cc482e692

macho: pad out LINKEDIT upto specified filesize


1 files changed, 4 insertions(+), 1 deletions(-)

src/link/MachO.zig+4-1
......@@ -2280,6 +2280,7 @@ fn updateLinkeditSegmentSizes(self: *MachO) !void {
22802280 const filesize = final_offset - linkedit_segment.inner.fileoff;
22812281 linkedit_segment.inner.filesize = filesize;
22822282 linkedit_segment.inner.vmsize = mem.alignForwardGeneric(u64, filesize, self.page_size);
2283 try self.base.file.?.pwriteAll(&[_]u8{ 0 }, final_offset);
22832284 self.load_commands_dirty = true;
22842285}
22852286
......@@ -2299,7 +2300,9 @@ fn writeLoadCommands(self: *MachO) !void {
22992300 try lc.write(writer);
23002301 }
23012302
2302 try self.base.file.?.pwriteAll(buffer, @sizeOf(macho.mach_header_64));
2303 const off = @sizeOf(macho.mach_header_64);
2304 log.debug("writing {} load commands from 0x{x} to 0x{x}", .{self.load_commands.items.len, off, off + sizeofcmds});
2305 try self.base.file.?.pwriteAll(buffer, off);
23032306 self.load_commands_dirty = false;
23042307}
23052308