guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#47349] [PATCH] gnu: cross-base: Relax check for powerpc64le


From: Andreas Enge
Subject: [bug#47349] [PATCH] gnu: cross-base: Relax check for powerpc64le
Date: Fri, 26 Mar 2021 11:31:16 +0100

Hello Chris,

I have no idea about cross compilers, but it would certainly be nice if
the final gcc supported long doubles.

As a check, you can have a look at the log file for building gmp,
obtained with "guix build --log-file gmp". If you grep for "long double",
it should contain a line
   checking for long double... yes
Hm, just "having" long double is maybe not all we want.

>From the gcc documentation at https://gcc.gnu.org/install/configure.html:
--with-long-double-128
    Specify if long double type should be 128-bit by default on selected 
GNU/Linux architectures. If using --without-long-double-128, long double will 
be by default 64-bit, the same as double type. When neither of these configure 
options are used, the default will be 128-bit long double when built against 
GNU C Library 2.4 and later, 64-bit long double otherwise.

Of course we would like long double to have 128 bits, since otherwise there
is no difference with double. And at least with the current gcc and a glibc
from 2006 or later, the flag should not be neeed.

On my x86_64 machine, sizeof(long double) is 16 bytes with gcc@10, 5 or 7.
Could you try to compile and run the trivial program
#include <stdio.h>
void main () {
   printf ("long double %i\n", sizeof (long double));
}
and see what it outputs on powerpc?

Well, while --with-long-double-128 should not be needed since it should be
the default, you may as well add it to the flags, since it is the desired
behaviour.

Andreas






reply via email to

[Prev in Thread] Current Thread [Next in Thread]