For C23, GCC has adjusted the value of LDBL_EPSILON when using the IBM long double format (PowerPCs) [1]. The value has changed from 4.94065645841246544176568792868221e-324L to 2.46519032881566189191165176650871e-32L.

This change in value is causing the LDBL_EPSILON check in test-float-h.c to fail, with the x <= 1.0L assertion going bad at around n == 106.

Current releases of multiple GNU projects (coreutils, diffutils, grep) are opting into C23 in their configure scripts when it is available, which is causing this test in their copies of gnulib to fail.

I ran into this downstream while trying to bootstrap the NixOS stdenv on powerpc64 with GCC 14.3.0 [2].

- Cosima

[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=53acc10ee81116536d4eb6fbba62a90f329b75ce

[2] https://github.com/NixOS/nixpkgs/pull/421280

Attachment: publickey - opna2608@protonmail.com - 0xC802C863.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to