diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 951af2edc1..3ed6ed0ff8 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -824,7 +824,7 @@ pub const Object = struct { } { - var module_flags = try std.ArrayList(Builder.Metadata).initCapacity(o.gpa, 7); + var module_flags = try std.ArrayList(Builder.Metadata).initCapacity(o.gpa, 8); defer module_flags.deinit(); const behavior_error = try o.builder.metadataConstant(try o.builder.intConst(.i32, 1)); @@ -832,6 +832,16 @@ pub const Object = struct { const behavior_max = try o.builder.metadataConstant(try o.builder.intConst(.i32, 7)); const behavior_min = try o.builder.metadataConstant(try o.builder.intConst(.i32, 8)); + if (target_util.llvmMachineAbi(comp.root_mod.resolved_target.result)) |abi| { + module_flags.appendAssumeCapacity(try o.builder.metadataModuleFlag( + behavior_error, + try o.builder.metadataString("target-abi"), + try o.builder.metadataConstant( + try o.builder.stringConst(try o.builder.string(abi)), + ), + )); + } + const pic_level = target_util.picLevel(comp.root_mod.resolved_target.result); if (comp.root_mod.pic) { module_flags.appendAssumeCapacity(try o.builder.metadataModuleFlag(