authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-01-18 11:55:14+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-04-22 15:31:57+02:00
log07ba7fdb054f52acd5d2496b89e62ee098736b05
tree8a2671d9cb2bb61cfb0a8296449097be94393123
parente88307dc404b5699a0d4c17dd6598519d8e08ed4
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

compiler: let LLVM set the x32 feature from the target triple on x86 targets


2 files changed, 3 insertions(+), 0 deletions(-)

src/Compilation.zig+1
......@@ -6813,6 +6813,7 @@ pub fn addCCArgs(
68136813 // We communicate these to Clang through the dedicated options.
68146814 if (std.mem.startsWith(u8, llvm_name, "soft-float") or
68156815 std.mem.startsWith(u8, llvm_name, "hard-float") or
6816 (target.cpu.arch.isX86() and std.mem.startsWith(u8, llvm_name, "x32")) or
68166817 (target.cpu.arch == .s390x and std.mem.eql(u8, llvm_name, "backchain")))
68176818 continue;
68186819
src/Package/Module.zig+2
......@@ -347,6 +347,8 @@ pub fn create(arena: Allocator, options: CreateOptions) !*Package.Module {
347347 // See https://github.com/ziglang/zig/issues/23539
348348 if (target_util.isDynamicAMDGCNFeature(target, feature)) continue;
349349
350 if (target.cpu.arch.isX86() and @as(std.Target.x86.Feature, @enumFromInt(feature.index)) == .x32) continue;
351
350352 var is_enabled = target.cpu.features.isEnabled(feature.index);
351353 if (target.cpu.arch == .s390x and @as(std.Target.s390x.Feature, @enumFromInt(feature.index)) == .backchain) {
352354 is_enabled = !omit_frame_pointer;