authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-02-12 15:26:59+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-04-04 06:08:09+02:00
log3d1cfdb3658e4d90189d9cf0be12a5a29a4c1e21
tree5759e00625fe94be0616374c20011114c53775e3
parente99c11856df5dafb54e92af12c0858d187dc2ad2
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

llvm: Set target-abi module flag.

LLVM is increasingly making use of this module flag when present.

1 files changed, 11 insertions(+), 1 deletions(-)

src/codegen/llvm.zig+11-1
...@@ -824,7 +824,7 @@ pub const Object = struct {...@@ -824,7 +824,7 @@ pub const Object = struct {
824 }824 }
825825
826 {826 {
827 var module_flags = try std.ArrayList(Builder.Metadata).initCapacity(o.gpa, 7);827 var module_flags = try std.ArrayList(Builder.Metadata).initCapacity(o.gpa, 8);
828 defer module_flags.deinit();828 defer module_flags.deinit();
829829
830 const behavior_error = try o.builder.metadataConstant(try o.builder.intConst(.i32, 1));830 const behavior_error = try o.builder.metadataConstant(try o.builder.intConst(.i32, 1));
...@@ -832,6 +832,16 @@ pub const Object = struct {...@@ -832,6 +832,16 @@ pub const Object = struct {
832 const behavior_max = try o.builder.metadataConstant(try o.builder.intConst(.i32, 7));832 const behavior_max = try o.builder.metadataConstant(try o.builder.intConst(.i32, 7));
833 const behavior_min = try o.builder.metadataConstant(try o.builder.intConst(.i32, 8));833 const behavior_min = try o.builder.metadataConstant(try o.builder.intConst(.i32, 8));
834834
835 if (target_util.llvmMachineAbi(comp.root_mod.resolved_target.result)) |abi| {
836 module_flags.appendAssumeCapacity(try o.builder.metadataModuleFlag(
837 behavior_error,
838 try o.builder.metadataString("target-abi"),
839 try o.builder.metadataConstant(
840 try o.builder.stringConst(try o.builder.string(abi)),
841 ),
842 ));
843 }
844
835 const pic_level = target_util.picLevel(comp.root_mod.resolved_target.result);845 const pic_level = target_util.picLevel(comp.root_mod.resolved_target.result);
836 if (comp.root_mod.pic) {846 if (comp.root_mod.pic) {
837 module_flags.appendAssumeCapacity(try o.builder.metadataModuleFlag(847 module_flags.appendAssumeCapacity(try o.builder.metadataModuleFlag(