summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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