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 {
824824 }
825825
826826 {
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);
828828 defer module_flags.deinit();
829829
830830 const behavior_error = try o.builder.metadataConstant(try o.builder.intConst(.i32, 1));
......@@ -832,6 +832,16 @@ pub const Object = struct {
832832 const behavior_max = try o.builder.metadataConstant(try o.builder.intConst(.i32, 7));
833833 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
835845 const pic_level = target_util.picLevel(comp.root_mod.resolved_target.result);
836846 if (comp.root_mod.pic) {
837847 module_flags.appendAssumeCapacity(try o.builder.metadataModuleFlag(