aboutsummaryrefslogtreecommitdiff
path: root/src/link/MachO.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2020-12-27 10:59:54 +0100
committerJakub Konka <kubkon@jakubkonka.com>2020-12-31 10:19:04 +0100
commitd9ce7a021bfeca7ba4b4e478617b4da590264a99 (patch)
tree4b4bc5715ed1524a82846e1d087f4cb5a5464c22 /src/link/MachO.zig
parenta7bae1b8579475eaf4a25907405d85b98d29977d (diff)
downloadzig-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.zig10
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;