FAIL: t-get_d_2exp
Marc Glisse
marc.glisse at inria.fr
Thu May 16 12:05:45 UTC 2019
On Thu, 16 May 2019, R. Diez wrote:
> Hi all:
>
> I am building a cross-compiling toolchain. In the process, my makefile builds
> a number of libraries that GCC needs. GMP is one of them.
>
> I ran "make check" once, and self-test t-get_d_2exp is failing:
>
> mpz_get_d_2exp wrong on 2**54-1
> result out of range, expect 0.5 <= got < 1.0
> rnd_mode = 0
> data[i] = 54
> z =0x3FFFFFFFFFFFFF
> got =[00 00 00 00 00 00 F0 3F] 1
> got exp 54
> FAIL t-get_d_2exp (exit status: 134)
>
> Other tests run fine.
>
> Is this problem already known? Is it worth pursuing? I can provide more
> information on demand.
>
> These are the versions I am building at the moment:
>
> BINUTILS_VERSION := 2.32
> GMP_VERSION := 6.1.2
> MPFR_VERSION := 4.0.2
> MPC_VERSION := 1.1.0
> GCC_VERSION := 8.3.0
> NEWLIB_VERSION := 3.1.0
> GDB_VERSION := 8.3
>
> The whole thing runs on an Ubuntu 18.04.2 system. This PC is a few years old
> and I have not noticed anything wrong with it yet.
>
> I am building the toolchain with -O3 and LTO at the moment.
Yes, the problem is known. LTO prevents configure from guessing correctly
how floating point numbers are represented on your platform, and the
fallback code has a bug. I think the fallback code has been fixed (at
least related patches have been posted on the mailing list). Using fat lto
might also help configure.
--
Marc Glisse
More information about the gmp-bugs
mailing list