summary refs log tree commit diff
diff options
context:
space:
mode:
authordftxbs3e <dftxbs3e@free.fr>2019-12-07 20:26:51 +0100
committerLudovic Courtès <ludo@gnu.org>2020-11-26 23:39:16 +0100
commit4a914de930a8317cab5bc11bdb608e3a3da3d1ad (patch)
tree2f926254e73f3fc23926a4b8d972c47fc9d16d56
parent2a1eda5a9ba55aca4a205408c8f3988ffff7e03b (diff)
downloadguix-4a914de930a8317cab5bc11bdb608e3a3da3d1ad.tar.gz
gnu: gcc-boot0, cross-base: Enable 128-bit long double for POWER9.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Add
"--with-long-double-128" when TARGET is "powerpc64le-linux-gnu".
* gnu/packages/commencement.scm (gcc-boot0): Likewise for (boot-triplet).

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/commencement.scm6
-rw-r--r--gnu/packages/cross-base.scm6
2 files changed, 12 insertions, 0 deletions
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 0938bc3d46..432910d7a3 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2818,6 +2818,12 @@ exec " gcc "/bin/" program
                            "--disable-shared"
                            "--enable-languages=c,c++"
 
+                           ,@(if (equal? "powerpc64le-linux-gnu" (boot-triplet))
+                                 ;; On POWER9 (little endian) glibc needs the
+                                 ;; 128-bit long double type.
+                                 '("--with-long-double-128")
+                                 '())
+
                            ;; libstdc++ cannot be built at this stage
                            ;; ("Link tests are not allowed after
                            ;; GCC_NO_EXECUTABLES.").
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index c1e5f2eb79..bea2d69876 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -153,6 +153,12 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
                                "--disable-decimal-float" ;would need libc
                                "--disable-libcilkrts"
 
+                              ,@(if (equal? "powerpc64le-linux-gnu" target)
+                                   ;; On POWER9 (little endian) glibc needs
+                                   ;; the 128-bit long double type.
+                                   '("--with-long-double-128")
+                                   '())
+
                                ;; When target is any OS other than 'none' these
                                ;; libraries will fail if there is no libc
                                ;; present. See