aboutsummaryrefslogtreecommitdiff
path: root/src/link.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/link.zig')
-rw-r--r--src/link.zig12
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) {