Collin Funk <[email protected]> writes:

> Santiago Vila <[email protected]> writes:
>
>> Hello.
>>
>> I applied the patch from Collin Funk to fix the build problem on
>> alpha, and now I have this build failure on powerpc:
>>
>> FAIL: test-float-h
>> ==================
>>
>> test-float-h.c:460: assertion 'x <= 1.0L' failed
>> FAIL test-float-h (exit status: 134)
>>
>> There is also a build failure on ppc64, but it's similar,
>> so I'm not going to report it as a different bug.
>>
>> Details here:
>>
>> https://buildd.debian.org/status/package.php?p=m4
>>
>> Thanks.
>
> Forwarding this to Gnulib's list since that is where the test is from.

I haven't tested it myself. But it looks like a misdefined LDBL_EPSILON.
My guess is that the fix with this Gnulib ChangeLog entry will fix it
[1]:

2025-07-28  Paul Eggert  <[email protected]>

        float-h: change IBM long double to match GCC 15
        This is in response to the GCC developers;
        see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120993>.
        * lib/float.c (gl_LDBL_MAX): Remove the implementation for PowerPC,
        as it should no longer be needed.
        * lib/float.in.h (LDBL_MIN_EXP, LDBL_MIN_10_EXP, LDBL_MIN)
        (LDBL_MAX, LDBL_EPSILON, LDBL_NORM_MAX): On PowerPC with IBM long
        double, simplify by using the GCC 15 values unconditionally.
        These are the correct values according to the GCC developers
        and there seems little point to disagreeing with current GCC
        about obsolescent arithmetic that is so problematic in practice.
        * tests/test-float-h.c (test_long_double): Relax tests of LDBL_MAX
        when !LDBL_IS_IEC_60559, as the tests would now fail on PowerPC and
        they were not portable in that case anyway.

You can probably adjust that patch to the m4-1.4.20 tarball and retry
the build.

Collin

[1] https://lists.gnu.org/archive/html/bug-gnulib/2025-07/msg00203.html

Reply via email to