authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-10-03 01:02:56+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-10-03 01:02:56+02:00
log5a23bf4b271ab809b18966e31f521c2b47298448
tree20b500aecdb6a010c312b45d037a9f147624a793
parent655bee8c75c19b82b8f2c730feec857e85e4991b
signature Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.Target: bump minimum glibc version for powerpc64le to 2.32

From https://lwn.net/Articles/828210/: * powerpc64le supports IEEE128 long double libm/libc redirects when using the -mabi=ieeelongdouble to compile C code on supported GCC toolchains. It is recommended to use GCC 8 or newer when testing this option.

1 files changed, 8 insertions(+), 3 deletions(-)

lib/std/Target.zig+8-3
......@@ -466,10 +466,11 @@ pub const Os = struct {
466466 .max = .{ .major = 7, .minor = 2, .patch = 0 },
467467 },
468468 .glibc = blk: {
469 // For 32-bit targets that traditionally used 32-bit time, we require
470 // glibc 2.34 for full 64-bit time support. For everything else, we only
471 // require glibc 2.31.
469 //
472470 const default_min: std.SemanticVersion = switch (arch) {
471 // For 32-bit targets that traditionally used 32-bit time, we
472 // require 2.34 for full 64-bit time support. For everything else,
473 // we only require 2.31.
473474 .arm,
474475 .armeb,
475476 .csky,
......@@ -486,6 +487,10 @@ pub const Os = struct {
486487 .{ .major = 2, .minor = 34, .patch = 0 }
487488 else
488489 .{ .major = 2, .minor = 31, .patch = 0 },
490 // We need 2.32 because it was the first version to fully support
491 // IEEE 128-bit `long double` (via `-mabi=ieeelongdouble`).
492 .powerpc64le,
493 => .{ .major = 2, .minor = 32, .patch = 0 },
489494 else => .{ .major = 2, .minor = 31, .patch = 0 },
490495 };
491496