diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2020-12-27 10:59:54 +0100 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2020-12-31 10:19:04 +0100 |
| commit | d9ce7a021bfeca7ba4b4e478617b4da590264a99 (patch) | |
| tree | 4b4bc5715ed1524a82846e1d087f4cb5a5464c22 /src/link/MachO.zig | |
| parent | a7bae1b8579475eaf4a25907405d85b98d29977d (diff) | |
| download | zig-d9ce7a021bfeca7ba4b4e478617b4da590264a99.tar.gz zig-d9ce7a021bfeca7ba4b4e478617b4da590264a99.zip | |
macho: copy snapshots of segment commands
Diffstat (limited to 'src/link/MachO.zig')
| -rw-r--r-- | src/link/MachO.zig | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/link/MachO.zig b/src/link/MachO.zig index 510d7b74fb..90c4757979 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -1427,7 +1427,7 @@ pub fn populateMissingMetadata(self: *MachO) !void { .addr = text_segment.inner.vmaddr + off, .size = needed_size, .offset = @intCast(u32, off), - .@"align" = @sizeOf(u64), + .@"align" = 3, // 2^@sizeOf(u64) .reloff = 0, .nreloc = 0, .flags = flags, @@ -1749,8 +1749,14 @@ fn allocateTextBlock(self: *MachO, text_block: *TextBlock, new_block_size: u64, self.last_text_block = text_block; text_section.size = needed_size; - self.load_commands_dirty = true; // TODO Make more granular. + + if (self.d_sym) |*ds| { + const debug_text_seg = &ds.load_commands.items[ds.text_segment_cmd_index.?].Segment; + const debug_text_sect = &debug_text_seg.sections.items[ds.text_section_index.?]; + debug_text_sect.size = needed_size; + ds.load_commands_dirty = true; + } } text_block.size = new_block_size; |
