mirror of
https://github.com/ziglang/zig.git
synced 2025-12-16 03:03:09 +00:00
macho: update DebugSymbols to include DATA_CONST seg
This commit is contained in:
parent
4ffa8952cc
commit
2128149325
@ -39,6 +39,8 @@ load_commands: std.ArrayListUnmanaged(LoadCommand) = .{},
|
|||||||
pagezero_segment_cmd_index: ?u16 = null,
|
pagezero_segment_cmd_index: ?u16 = null,
|
||||||
/// __TEXT segment
|
/// __TEXT segment
|
||||||
text_segment_cmd_index: ?u16 = null,
|
text_segment_cmd_index: ?u16 = null,
|
||||||
|
/// __DATA_CONST segment
|
||||||
|
data_const_segment_cmd_index: ?u16 = null,
|
||||||
/// __DATA segment
|
/// __DATA segment
|
||||||
data_segment_cmd_index: ?u16 = null,
|
data_segment_cmd_index: ?u16 = null,
|
||||||
/// __LINKEDIT segment
|
/// __LINKEDIT segment
|
||||||
@ -171,6 +173,15 @@ pub fn populateMissingMetadata(self: *DebugSymbols, allocator: *Allocator) !void
|
|||||||
self.header_dirty = true;
|
self.header_dirty = true;
|
||||||
self.load_commands_dirty = true;
|
self.load_commands_dirty = true;
|
||||||
}
|
}
|
||||||
|
if (self.data_const_segment_cmd_index == null) outer: {
|
||||||
|
if (self.base.data_const_segment_cmd_index == null) break :outer; // __DATA_CONST is optional
|
||||||
|
self.data_const_segment_cmd_index = @intCast(u16, self.load_commands.items.len);
|
||||||
|
const base_cmd = self.base.load_commands.items[self.base.data_const_segment_cmd_index.?].Segment;
|
||||||
|
const cmd = try self.copySegmentCommand(allocator, base_cmd);
|
||||||
|
try self.load_commands.append(allocator, .{ .Segment = cmd });
|
||||||
|
self.header_dirty = true;
|
||||||
|
self.load_commands_dirty = true;
|
||||||
|
}
|
||||||
if (self.data_segment_cmd_index == null) outer: {
|
if (self.data_segment_cmd_index == null) outer: {
|
||||||
if (self.base.data_segment_cmd_index == null) break :outer; // __DATA is optional
|
if (self.base.data_segment_cmd_index == null) break :outer; // __DATA is optional
|
||||||
self.data_segment_cmd_index = @intCast(u16, self.load_commands.items.len);
|
self.data_segment_cmd_index = @intCast(u16, self.load_commands.items.len);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user