diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2020-12-22 10:57:58 +0100 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2020-12-22 10:57:58 +0100 |
| commit | 34663abc9090d7b3afc2bc83d159c1d950b23e1d (patch) | |
| tree | 574197640525af263c0679763634c70a7e635cbb /src | |
| parent | f106a46fd293605fab7cb776d36bb22cc482e692 (diff) | |
| download | zig-34663abc9090d7b3afc2bc83d159c1d950b23e1d.tar.gz zig-34663abc9090d7b3afc2bc83d159c1d950b23e1d.zip | |
macho: pad out LINKEDIT upto specified filesize
Diffstat (limited to 'src')
| -rw-r--r-- | src/link/MachO.zig | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/link/MachO.zig b/src/link/MachO.zig index b51f094648..65dbe4e5f6 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -2280,6 +2280,7 @@ fn updateLinkeditSegmentSizes(self: *MachO) !void { const filesize = final_offset - linkedit_segment.inner.fileoff; linkedit_segment.inner.filesize = filesize; linkedit_segment.inner.vmsize = mem.alignForwardGeneric(u64, filesize, self.page_size); + try self.base.file.?.pwriteAll(&[_]u8{ 0 }, final_offset); self.load_commands_dirty = true; } @@ -2299,7 +2300,9 @@ fn writeLoadCommands(self: *MachO) !void { try lc.write(writer); } - try self.base.file.?.pwriteAll(buffer, @sizeOf(macho.mach_header_64)); + const off = @sizeOf(macho.mach_header_64); + log.debug("writing {} load commands from 0x{x} to 0x{x}", .{self.load_commands.items.len, off, off + sizeofcmds}); + try self.base.file.?.pwriteAll(buffer, off); self.load_commands_dirty = false; } |
