From d5f7963331e031326b8063673a2c43581565b538 Mon Sep 17 00:00:00 2001 From: Jakub Konka Date: Sun, 15 Aug 2021 18:29:19 +0200 Subject: [PATCH] macho: adhoc code sign binaries targeting aarch64-xxx-simulator --- src/link/MachO.zig | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/link/MachO.zig b/src/link/MachO.zig index ac98be1df3be9081b46bfb611674101e16412d67..abe4bae3a95ac801d102d918c725b2d4a72c78ba 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -396,6 +396,13 @@ pub fn openPath(allocator: *Allocator, sub_path: []const u8, options: link.Optio pub fn createEmpty(gpa: *Allocator, options: link.Options) !*MachO { const self = try gpa.create(MachO); + const cpu_arch = options.target.cpu.arch; + const os_tag = options.target.os.tag; + const abi = options.target.abi; + const page_size = if (cpu_arch == .aarch64) 0x4000 else 0x1000; + // Adhoc code signature is required when targeting aarch64-macos either directly or indirectly via the simulator + // ABI such as aarch64-ios-simulator, etc. + const requires_adhoc_codesig = cpu_arch == .aarch64 and (os_tag == .macos or abi == .simulator); self.* = .{ .base = .{ @@ -404,8 +411,8 @@ pub fn createEmpty(gpa: *Allocator, options: link.Options) !*MachO { .allocator = gpa, .file = null, }, - .page_size = if (options.target.cpu.arch == .aarch64) 0x4000 else 0x1000, - .requires_adhoc_codesig = options.target.cpu.arch == .aarch64 and options.target.os.tag == .macos, + .page_size = page_size, + .requires_adhoc_codesig = requires_adhoc_codesig, }; return self; -- 2.54.0