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:04:18+02:00
log48f1d2c84a566aab76324ae2365c13212db37c01
tree4e0034e0c70f827301b40812a08bd421e2dd7ca4
parentadc3d5183179833cda3667bdffa3aa0031ba0c66
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