commit b9a00fe6aa2908cbff085b80addaf39e7be64cbd (tree)
parent 0cafb9b59137f3cfd9bfb883b4d9371ee153a681
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Sat, 23 May 2026 08:51:57 +0200
std.Target: fix default calling convention for ps3
Diffstat:
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/std/Target.zig b/lib/std/Target.zig
@@ -3752,7 +3752,7 @@ pub fn cCallingConvention(target: *const Target) ?std.builtin.CallingConvention
.riscv32, .riscv32be => .{ .riscv32_ilp32 = .{} },
.sparc64 => .{ .sparc64_sysv = .{} },
.sparc => .{ .sparc_sysv = .{} },
- .powerpc64 => if (target.abi.isGnu())
+ .powerpc64 => if (target.os.tag == .ps3 or target.abi.isGnu())
.{ .powerpc64_elf = .{} }
else
.{ .powerpc64_elf_v2 = .{} },
diff --git a/src/target.zig b/src/target.zig
@@ -695,7 +695,8 @@ pub fn llvmMachineAbi(target: *const std.Target) ?[:0]const u8 {
.gnuabin32, .muslabin32 => "n32",
else => "n64",
},
- .powerpc64, .powerpc64le => if (target.os.tag == .ps3) "elfv1" else "elfv2",
+ .powerpc64 => if (target.os.tag == .ps3) "elfv1" else "elfv2",
+ .powerpc64le => "elfv2",
.riscv64, .riscv64be => if (target.cpu.has(.riscv, .e))
"lp64e"
else if (target.cpu.has(.riscv, .d))