diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2021-12-13 11:19:19 +0100 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2021-12-15 08:59:20 +0100 |
| commit | ab328aca3365102cea95ea8c1f5e1e8ca8793dc5 (patch) | |
| tree | 74a6b41a1509ed28837ef901f87b913ccf101c67 /src | |
| parent | ff93486d0cbf032cbbf8b7953a072d448400ba2a (diff) | |
| download | zig-ab328aca3365102cea95ea8c1f5e1e8ca8793dc5.tar.gz zig-ab328aca3365102cea95ea8c1f5e1e8ca8793dc5.zip | |
macho: put `LC_*` consts in a typed enum(u32) LC
repeat for `PLATFORM_*` and `TOOL_*` sets
Diffstat (limited to 'src')
| -rw-r--r-- | src/link/MachO.zig | 29 | ||||
| -rw-r--r-- | src/link/MachO/DebugSymbols.zig | 1 | ||||
| -rw-r--r-- | src/link/MachO/Dylib.zig | 8 | ||||
| -rw-r--r-- | src/link/MachO/Object.zig | 10 |
4 files changed, 20 insertions, 28 deletions
diff --git a/src/link/MachO.zig b/src/link/MachO.zig index 43d6733132..1ce3189d4a 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -783,7 +783,6 @@ pub fn flushModule(self: *MachO, comp: *Compilation) !void { @sizeOf(u64), )); var rpath_cmd = macho.emptyGenericCommandWithData(macho.rpath_command{ - .cmd = macho.LC_RPATH, .cmdsize = cmdsize, .path = @sizeOf(macho.rpath_command), }); @@ -3174,7 +3173,7 @@ fn addCodeSignatureLC(self: *MachO) !void { self.code_signature_cmd_index = @intCast(u16, self.load_commands.items.len); try self.load_commands.append(self.base.allocator, .{ .linkedit_data = .{ - .cmd = macho.LC_CODE_SIGNATURE, + .cmd = .CODE_SIGNATURE, .cmdsize = @sizeOf(macho.linkedit_data_command), .dataoff = 0, .datasize = 0, @@ -4203,7 +4202,7 @@ fn populateMissingMetadata(self: *MachO) !void { self.dyld_info_cmd_index = @intCast(u16, self.load_commands.items.len); try self.load_commands.append(self.base.allocator, .{ .dyld_info_only = .{ - .cmd = macho.LC_DYLD_INFO_ONLY, + .cmd = .DYLD_INFO_ONLY, .cmdsize = @sizeOf(macho.dyld_info_command), .rebase_off = 0, .rebase_size = 0, @@ -4224,7 +4223,6 @@ fn populateMissingMetadata(self: *MachO) !void { self.symtab_cmd_index = @intCast(u16, self.load_commands.items.len); try self.load_commands.append(self.base.allocator, .{ .symtab = .{ - .cmd = macho.LC_SYMTAB, .cmdsize = @sizeOf(macho.symtab_command), .symoff = 0, .nsyms = 0, @@ -4239,7 +4237,6 @@ fn populateMissingMetadata(self: *MachO) !void { self.dysymtab_cmd_index = @intCast(u16, self.load_commands.items.len); try self.load_commands.append(self.base.allocator, .{ .dysymtab = .{ - .cmd = macho.LC_DYSYMTAB, .cmdsize = @sizeOf(macho.dysymtab_command), .ilocalsym = 0, .nlocalsym = 0, @@ -4272,7 +4269,7 @@ fn populateMissingMetadata(self: *MachO) !void { @sizeOf(u64), )); var dylinker_cmd = macho.emptyGenericCommandWithData(macho.dylinker_command{ - .cmd = macho.LC_LOAD_DYLINKER, + .cmd = .LOAD_DYLINKER, .cmdsize = cmdsize, .name = @sizeOf(macho.dylinker_command), }); @@ -4287,7 +4284,6 @@ fn populateMissingMetadata(self: *MachO) !void { self.main_cmd_index = @intCast(u16, self.load_commands.items.len); try self.load_commands.append(self.base.allocator, .{ .main = .{ - .cmd = macho.LC_MAIN, .cmdsize = @sizeOf(macho.entry_point_command), .entryoff = 0x0, .stacksize = 0, @@ -4314,7 +4310,7 @@ fn populateMissingMetadata(self: *MachO) !void { compat_version.major << 16 | compat_version.minor << 8 | compat_version.patch, ); errdefer dylib_cmd.deinit(self.base.allocator); - dylib_cmd.inner.cmd = macho.LC_ID_DYLIB; + dylib_cmd.inner.cmd = .ID_DYLIB; try self.load_commands.append(self.base.allocator, .{ .dylib = dylib_cmd }); self.load_commands_dirty = true; } @@ -4323,7 +4319,6 @@ fn populateMissingMetadata(self: *MachO) !void { self.source_version_cmd_index = @intCast(u16, self.load_commands.items.len); try self.load_commands.append(self.base.allocator, .{ .source_version = .{ - .cmd = macho.LC_SOURCE_VERSION, .cmdsize = @sizeOf(macho.source_version_command), .version = 0x0, }, @@ -4350,13 +4345,12 @@ fn populateMissingMetadata(self: *MachO) !void { } else platform_version; const is_simulator_abi = self.base.options.target.abi == .simulator; var cmd = macho.emptyGenericCommandWithData(macho.build_version_command{ - .cmd = macho.LC_BUILD_VERSION, .cmdsize = cmdsize, .platform = switch (self.base.options.target.os.tag) { - .macos => macho.PLATFORM_MACOS, - .ios => if (is_simulator_abi) macho.PLATFORM_IOSSIMULATOR else macho.PLATFORM_IOS, - .watchos => if (is_simulator_abi) macho.PLATFORM_WATCHOSSIMULATOR else macho.PLATFORM_WATCHOS, - .tvos => if (is_simulator_abi) macho.PLATFORM_TVOSSIMULATOR else macho.PLATFORM_TVOS, + .macos => .MACOS, + .ios => if (is_simulator_abi) macho.PLATFORM.IOSSIMULATOR else macho.PLATFORM.IOS, + .watchos => if (is_simulator_abi) macho.PLATFORM.WATCHOSSIMULATOR else macho.PLATFORM.WATCHOS, + .tvos => if (is_simulator_abi) macho.PLATFORM.TVOSSIMULATOR else macho.PLATFORM.TVOS, else => unreachable, }, .minos = platform_version, @@ -4364,7 +4358,7 @@ fn populateMissingMetadata(self: *MachO) !void { .ntools = 1, }); const ld_ver = macho.build_tool_version{ - .tool = macho.TOOL_LD, + .tool = .LD, .version = 0x0, }; cmd.data = try self.base.allocator.alloc(u8, cmdsize - @sizeOf(macho.build_version_command)); @@ -4377,7 +4371,6 @@ fn populateMissingMetadata(self: *MachO) !void { if (self.uuid_cmd_index == null) { self.uuid_cmd_index = @intCast(u16, self.load_commands.items.len); var uuid_cmd: macho.uuid_command = .{ - .cmd = macho.LC_UUID, .cmdsize = @sizeOf(macho.uuid_command), .uuid = undefined, }; @@ -4390,7 +4383,7 @@ fn populateMissingMetadata(self: *MachO) !void { self.function_starts_cmd_index = @intCast(u16, self.load_commands.items.len); try self.load_commands.append(self.base.allocator, .{ .linkedit_data = .{ - .cmd = macho.LC_FUNCTION_STARTS, + .cmd = .FUNCTION_STARTS, .cmdsize = @sizeOf(macho.linkedit_data_command), .dataoff = 0, .datasize = 0, @@ -4403,7 +4396,7 @@ fn populateMissingMetadata(self: *MachO) !void { self.data_in_code_cmd_index = @intCast(u16, self.load_commands.items.len); try self.load_commands.append(self.base.allocator, .{ .linkedit_data = .{ - .cmd = macho.LC_DATA_IN_CODE, + .cmd = .DATA_IN_CODE, .cmdsize = @sizeOf(macho.linkedit_data_command), .dataoff = 0, .datasize = 0, diff --git a/src/link/MachO/DebugSymbols.zig b/src/link/MachO/DebugSymbols.zig index 8babb5d647..cda5077528 100644 --- a/src/link/MachO/DebugSymbols.zig +++ b/src/link/MachO/DebugSymbols.zig @@ -122,7 +122,6 @@ pub fn populateMissingMetadata(self: *DebugSymbols, allocator: Allocator) !void try self.load_commands.append(allocator, .{ .symtab = .{ - .cmd = macho.LC_SYMTAB, .cmdsize = @sizeOf(macho.symtab_command), .symoff = @intCast(u32, symtab_off), .nsyms = base_cmd.nsyms, diff --git a/src/link/MachO/Dylib.zig b/src/link/MachO/Dylib.zig index 31a8b357c2..7593593cbc 100644 --- a/src/link/MachO/Dylib.zig +++ b/src/link/MachO/Dylib.zig @@ -177,16 +177,16 @@ fn readLoadCommands(self: *Dylib, allocator: Allocator, reader: anytype, depende while (i < self.header.?.ncmds) : (i += 1) { var cmd = try macho.LoadCommand.read(allocator, reader); switch (cmd.cmd()) { - macho.LC_SYMTAB => { + .SYMTAB => { self.symtab_cmd_index = i; }, - macho.LC_DYSYMTAB => { + .DYSYMTAB => { self.dysymtab_cmd_index = i; }, - macho.LC_ID_DYLIB => { + .ID_DYLIB => { self.id_cmd_index = i; }, - macho.LC_REEXPORT_DYLIB => { + .REEXPORT_DYLIB => { if (should_lookup_reexports) { // Parse install_name to dependent dylib. var id = try Id.fromLoadCommand(allocator, cmd.dylib); diff --git a/src/link/MachO/Object.zig b/src/link/MachO/Object.zig index 7f4a49d0d5..12ca463760 100644 --- a/src/link/MachO/Object.zig +++ b/src/link/MachO/Object.zig @@ -269,7 +269,7 @@ pub fn readLoadCommands(self: *Object, allocator: Allocator, reader: anytype) !v while (i < header.ncmds) : (i += 1) { var cmd = try macho.LoadCommand.read(allocator, reader); switch (cmd.cmd()) { - macho.LC_SEGMENT_64 => { + .SEGMENT_64 => { self.segment_cmd_index = i; var seg = cmd.segment; for (seg.sections.items) |*sect, j| { @@ -302,18 +302,18 @@ pub fn readLoadCommands(self: *Object, allocator: Allocator, reader: anytype) !v seg.inner.fileoff += offset; }, - macho.LC_SYMTAB => { + .SYMTAB => { self.symtab_cmd_index = i; cmd.symtab.symoff += offset; cmd.symtab.stroff += offset; }, - macho.LC_DYSYMTAB => { + .DYSYMTAB => { self.dysymtab_cmd_index = i; }, - macho.LC_BUILD_VERSION => { + .BUILD_VERSION => { self.build_version_cmd_index = i; }, - macho.LC_DATA_IN_CODE => { + .DATA_IN_CODE => { self.data_in_code_cmd_index = i; cmd.linkedit_data.dataoff += offset; }, |
