diff options
Diffstat (limited to 'src/link.zig')
| -rw-r--r-- | src/link.zig | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/link.zig b/src/link.zig index cd777b86c4..ef0c2fa269 100644 --- a/src/link.zig +++ b/src/link.zig @@ -1209,8 +1209,16 @@ pub const File = struct { const llvm = @import("codegen/llvm.zig"); const target = comp.root_mod.resolved_target.result; llvm.initializeLLVMTarget(target.cpu.arch); - const os_tag = llvm.targetOs(target.os.tag); - const bad = llvm_bindings.WriteArchive(full_out_path_z, object_files.items.ptr, object_files.items.len, os_tag); + const bad = llvm_bindings.WriteArchive( + full_out_path_z, + object_files.items.ptr, + object_files.items.len, + switch (target.os.tag) { + .aix => .AIXBIG, + .windows => .COFF, + else => if (target.os.tag.isDarwin()) .DARWIN else .GNU, + }, + ); if (bad) return error.UnableToWriteArchive; if (!base.disable_lld_caching) { |
