[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: test-float fails on powerpc
From: |
Bruno Haible |
Subject: |
Re: test-float fails on powerpc |
Date: |
Sun, 29 Apr 2012 16:04:46 +0200 |
User-agent: |
KMail/4.7.4 (Linux/3.1.10-1.9-desktop; KDE/4.7.4; x86_64; ; ) |
Hello Santiago,
> I implicitly enabled gnulib tests in the Debian diffutils package
> (by switching debian/rules to debhelper) and now the package fails to
> build from source on the powerpc architecture because test-float fails:
>
> ./test-float
> test-float.c:333: assertion failed
> Aborted
>
> This is the relevant code:
>
> /* Check the value of LDBL_MAX. */
> {
> volatile long double m = LDBL_MAX;
> int n;
>
> ASSERT (m + m > m);
> for (n = 0; n <= 2 * LDBL_MANT_DIG; n++)
> {
> volatile long double pow2_n = pow2l (n); /* 2^n */
> volatile long double x = m + (m / pow2_n);
> if (x > m)
> ASSERT (x + x == x); /* <==== This is the line which fails */
> else
> ASSERT (!(x + x == x));
> }
> }
This failure location indicates a severe problem with <float.h>
> In the meantime, I will disable this test in the Debian package.
This is not useful, because <float.h> on Linux/PowerPC *is* broken.
It would be better for you to incorporate the fix. Either by invoking
"gnulib-tool --update", or by taking just the bug's workaround from
the gnulib repository:
http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=c65d65a81e9d66960ae7ce5abe5069d5b7338ed2
Bruno