From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 26 02:27:22 2021 Received: (at 47349) by debbugs.gnu.org; 26 Mar 2021 06:27:22 +0000 Received: from localhost ([127.0.0.1]:40201 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lPfwH-00085K-SF for submit@debbugs.gnu.org; Fri, 26 Mar 2021 02:27:22 -0400 Received: from mail-pj1-f47.google.com ([209.85.216.47]:46066) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lPfwE-000856-QE for 47349@debbugs.gnu.org; Fri, 26 Mar 2021 02:27:19 -0400 Received: by mail-pj1-f47.google.com with SMTP id kr3-20020a17090b4903b02900c096fc01deso1983750pjb.4 for <47349@debbugs.gnu.org>; Thu, 25 Mar 2021 23:27:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=1rAIap7al2PLUK/av2pNrL45fFytg3uA5Gi972jyT5Q=; b=iY1qMLU7PkvkQ26452GciD6T9LeKYFXIT1DYNEh/kVuUuk0rGbEBCwQc2WC+NyIQQd iqPGxBRMPuHaX35CG1SGwdnqBk6ehIb7aqGAOyiFcW7sMMGzTcAtjrkim+gYAuhYeE7T bW74/JzuUvirqHvkF0pLFvq/YQQXqWocX1JBonKOa0+eWNwk2QXeHdof6VBPnnGE5ECV chtX4pXXbSJkTIewG7PVcK9t2HjZobvD4T4T5RRWsuqqjh9lAKkivi1WNxZSMjp5dqSd a1KO8/y0brxYOcqE3iLKZaLCLd0hMAgSZqEJm++wFOzHyLV4331JbEe7MD2/g9TFk4SQ VR/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=1rAIap7al2PLUK/av2pNrL45fFytg3uA5Gi972jyT5Q=; b=ZhWPXMhaqGdMo5wWZKxuL7c5k9zPFEMZg72RIviOUVTsxqQwJufDyR4WiMeKZCDLfY uCdHqAYJee+e5dDXWLnOyOQpQUKDtPIhcQ2LiS0wbu68r+NvrPjHmZsJ+QbFmGkockD2 6iH/HLgUs5J1nbM4puLXgkdya295jkDPg00+d+5ukBpMmvZL3B715mh21Y/v5Q2WttJo T30oFc5qE+JLrs+0h00lC5T5NukbJhVfGQLl1bnhzxC79ZXKpU85z+GyKs+PFm/Xfgfk NU68HaxDUgPGVDm81aTXqRM3mn1DvSSNYI9TcI1HjkHRk6af2jVwkvVRHcdXosouT1rz KjmA== X-Gm-Message-State: AOAM530kVg/HZykLVlVsG/yjKzgnv9s/IB4pPSLReIXuJ8mid+wJxHvz f02xQxD4INWo2PVxjhUDZZPof9yadAk= X-Google-Smtp-Source: ABdhPJzBZcBDaLtVoyKcQrF18cosEyURYjKsRhjdJCl8kMeY8Dze+ZIilQfbE4i3lAamC4vEQ1wKTQ== X-Received: by 2002:a17:90a:9f8d:: with SMTP id o13mr12082553pjp.25.1616740031767; Thu, 25 Mar 2021 23:27:11 -0700 (PDT) Received: from garuda-lan (c-24-18-44-142.hsd1.wa.comcast.net. [24.18.44.142]) by smtp.gmail.com with ESMTPSA id 12sm7180900pgw.18.2021.03.25.23.27.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Mar 2021 23:27:10 -0700 (PDT) From: Chris Marusich To: Carl Dong Subject: Re: bug#47349: [PATCH] gnu: cross-base: Relax check for powerpc64le References: <20210323160213.1194843-1-contact@carldong.me> Date: Thu, 25 Mar 2021 23:27:06 -0700 In-Reply-To: <20210323160213.1194843-1-contact@carldong.me> (Carl Dong's message of "Tue, 23 Mar 2021 12:02:13 -0400") Message-ID: <871rc2bfb9.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 47349 Cc: 47349@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi people, Carl Dong writes: > * gnu/packages/cross-base.scm (cross-gcc-arguments): Check for > "powerpc64le-" prefix for "--with-long-double-128" instead of matching > full target. This patch looks good to me. I confirmed it doesn't rebuild the world. We can apply it to master. I will do this in the next few days unless somebody else has further comments on this patch specifically. While reviewing this patch, I noticed that surprisingly, we do not use =2D-with-long-double in the following places: =2D The gcc package (a GCC v7.5.0 native compiler) on powerpc64le-linux systems. =2D The gcc-final package (a GCC v7.5.0 native compiler) on powerpc64le-linux systems. =2D The %bootstrap-gcc package (a GCC v5.5.0 native compiler) on powerpc64le-linux systems. =2D The %gcc-static package (a GCC v5.5.0 native compiler), when cross-compiled for the powerpc64le-linux-gnu target on an x86_64-linux system. (Note that this is actually the same GCC that on powerpc64le-linux systems is known as %bootstrap-gcc.) Obviously, %bootstrap-gcc is good enough to build gcc-final, and gcc-final is good enough to build various things, including GNU Hello and GNU Guix itself. We have verified this. However, Leo, do you think it would be a good idea to add --with-long-double to the gcc and gcc-final package definitions on powerpc64le-linux, anyway? Perhaps it actually is needed, but we just haven't yet encountered the problems that it would solve. What do you think, Leo? You can inspect the packages to see this yourself, but you can also ask Guix to tell you about the configure options. Here is what Guix says about the configure options for the gcc and gcc-final packages on a powerpc64le-linux system using commit b0eb525ddba77420ff8c0930b9173b10f9ae342d: =2D-8<---------------cut here---------------start------------->8--- scheme@(guix-user)> ,pp (bag-arguments (package->bag (@ (gnu packages gcc) = gcc))) $3 =3D (#:system "powerpc64le-linux" #:out-of-source? #t #:configure-flags `("--enable-plugin" "--enable-languages=3Dc,c++" "--disable-multilib" "--with-system-zlib" "--disable-libstdcxx-pch" "--with-local-prefix=3D/no-gcc-local-prefix" ,(string-append "--with-gxx-include-dir=3D" (assoc-ref %outputs "out") "/include/c++") ,(let ((libc (assoc-ref %build-inputs "libc"))) (if libc (string-append "--with-native-system-header-dir=3D" libc "/include") "--without-headers"))) #:make-flags (let* ((libc (assoc-ref %build-inputs "libc")) (libc-native (or (assoc-ref %build-inputs "libc-native") libc))) `(,@(if libc (list (string-append "LDFLAGS_FOR_TARGET=3D" "-B" libc "/lib " "-Wl,-dynamic-linker " "-Wl," libc "/lib/ld64.so.2")) '()) ,(string-append "LDFLAGS=3D" "-Wl,-rpath=3D" libc-native "/lib " "-Wl,-dynamic-linker " "-Wl," libc-native "/lib/ld64.so.2") ,(string-append "BOOT_CFLAGS=3D-O2 " "-g0"))) #:tests? #f #:phases (modify-phases %standard-phases (add-before 'configure 'pre-configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((libdir (or (assoc-ref outputs "lib") (assoc-ref outputs "out"))) (libc (assoc-ref inputs "libc"))) (when libc (for-each (lambda (x) (substitute* (find-files "gcc/config" "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") (("(#define (GLIBC|GNU_USER)_DYNAMIC_LINKER.*)\\\\\n$" _ line) line))) '(1 2 3)) (substitute* (find-files "gcc/config" "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ \t]*).*$" _ gnu-user suffix) (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%" gnu-user suffix (string-append libc "/lib/ld64.so.2")))) (substitute* (find-files "gcc/config" "^gnu-user.*\\.h$") (("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix) (format #f "#define GNU_USER_TARGET_LIB_SPEC \"-L~a/lib %{!static:= -rpath=3D~a/lib %{!static-libgcc:-rpath=3D~a/lib -lgcc_s}} \" ~a" libc libc libdir suffix)) (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line) (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"\n#defin= e STANDARD_STARTFILE_PREFIX_2 \"\"\n~a" libc line))) (substitute* "gcc/config/rs6000/sysv4.h" (("#define LIB_LINUX_SPEC (.*)$" _ suffix) (format #f "#define LIB_LINUX_SPEC \"-L~a/lib %{!static:-rpath=3D~= a/lib %{!static-libgcc:-rpath=3D~a/lib -lgcc_s}} \" ~a" libc libc libdir suffix)) (("#define\tSTARTFILE_LINUX_SPEC.*$" line) (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"\n#defin= e STANDARD_STARTFILE_PREFIX_2 \"\"\n~a" libc line)))) (when (file-exists? "gcc/config/rs6000") (substitute* (find-files "gcc/config/rs6000") (("/lib64") "/lib"))) (substitute* "fixincludes/fixincl.x" (("static char const sed_cmd_z\\[\\] =3D.*;") "static char const sed_cmd_z[] =3D \"sed\";")) (when (file-exists? "gcc/config/aarch64") (substitute* "gcc/config/aarch64/t-aarch64-linux" (("lib64") "lib"))) (when (file-exists? "libbacktrace") (substitute* "libbacktrace/configure" (("WARN_FLAGS=3D(.*)-Werror" _ flags) (string-append "WARN_FLAGS=3D" flags))) (when (file-exists? "libsanitizer/libbacktrace") (substitute* "libsanitizer/libbacktrace/Makefile.in" (("-Werror") "")))) (substitute* "libstdc++-v3/src/Makefile.in" (("^OPT_LDFLAGS =3D ") "OPT_LDFLAGS =3D -Wl,-rpath=3D$(libdir) ")) (substitute* "libstdc++-v3/python/Makefile.in" (("pythondir =3D .*$") (string-append "pythondir =3D " libdir "/share" "/gcc-$(gcc_version)/python\n"))) (substitute* "gcc/config.in" (("PREFIX_INCLUDE_DIR") "PREFIX_INCLUDE_DIR_isnt_necessary_here")) #t))) (add-after 'configure 'post-configure (lambda _ (substitute* "Makefile" (("^TOPLEVEL_CONFIGURE_ARGUMENTS=3D(.*)$" _ rest) "TOPLEVEL_CONFIGURE_ARGUMENTS=3D\n")) #t)))) scheme@(guix-user)> ,pp (bag-arguments (package->bag (@@ (gnu packages comm= encement) gcc-final))) $4 =3D (#:system "powerpc64le-linux" #:guile # #:allowed-references ("out" "lib" # # #) #:validate-runpath? #f #:out-of-source? #t #:configure-flags `("--enable-plugin" "--enable-languages=3Dc,c++" "--disable-multilib" "--with-system-zlib" "--disable-libstdcxx-pch" "--with-local-prefix=3D/no-gcc-local-prefix" ,(string-append "--with-gxx-include-dir=3D" (assoc-ref %outputs "out") "/include/c++") ,(let ((libc (assoc-ref %build-inputs "libc"))) (if libc (string-append "--with-native-system-header-dir=3D" libc "/include") "--without-headers"))) #:make-flags (let ((zlib (assoc-ref %build-inputs "zlib"))) (map (lambda (flag) (if (string-prefix? "LDFLAGS=3D" flag) (string-append flag " -L" (assoc-ref %build-inputs "libstdc++") "/lib -L" zlib "/lib -Wl,-rpath=3D" zlib "/lib") flag)) (let* ((libc (assoc-ref %build-inputs "libc")) (libc-native (or (assoc-ref %build-inputs "libc-native") libc))) `(,@(if libc (list (string-append "LDFLAGS_FOR_TARGET=3D" "-B" libc "/lib " "-Wl,-dynamic-linker " "-Wl," libc "/lib/ld64.so.2")) '()) ,(string-append "LDFLAGS=3D" "-Wl,-rpath=3D" libc-native "/lib " "-Wl,-dynamic-linker " "-Wl," libc-native "/lib/ld64.so.2") ,(string-append "BOOT_CFLAGS=3D-O2 " "-g0"))))) #:tests? #f #:phases (modify-phases (modify-phases %standard-phases (add-before 'configure 'pre-configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((libdir (or (assoc-ref outputs "lib") (assoc-ref outputs "out"))) (libc (assoc-ref inputs "libc"))) (when libc (for-each (lambda (x) (substitute* (find-files "gcc/config" "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") (("(#define (GLIBC|GNU_USER)_DYNAMIC_LINKER.*)\\\\\n= $" _ line) line))) '(1 2 3)) (substitute* (find-files "gcc/config" "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ \t]*).*$" _ gnu-user suffix) (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%" gnu-user suffix (string-append libc "/lib/ld64.so.2")))) (substitute* (find-files "gcc/config" "^gnu-user.*\\.h$") (("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix) (format #f "#define GNU_USER_TARGET_LIB_SPEC \"-L~a/lib %{!stati= c:-rpath=3D~a/lib %{!static-libgcc:-rpath=3D~a/lib -lgcc_s}} \" ~a" libc libc libdir suffix)) (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line) (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"\n#def= ine STANDARD_STARTFILE_PREFIX_2 \"\"\n~a" libc line))) (substitute* "gcc/config/rs6000/sysv4.h" (("#define LIB_LINUX_SPEC (.*)$" _ suffix) (format #f "#define LIB_LINUX_SPEC \"-L~a/lib %{!static:-rpath= =3D~a/lib %{!static-libgcc:-rpath=3D~a/lib -lgcc_s}} \" ~a" libc libc libdir suffix)) (("#define\tSTARTFILE_LINUX_SPEC.*$" line) (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"\n#def= ine STANDARD_STARTFILE_PREFIX_2 \"\"\n~a" libc line)))) (when (file-exists? "gcc/config/rs6000") (substitute* (find-files "gcc/config/rs6000") (("/lib64") "/lib"))) (substitute* "fixincludes/fixincl.x" (("static char const sed_cmd_z\\[\\] =3D.*;") "static char const sed_cmd_z[] =3D \"sed\";")) (when (file-exists? "gcc/config/aarch64") (substitute* "gcc/config/aarch64/t-aarch64-linux" (("lib64") "lib"))) (when (file-exists? "libbacktrace") (substitute* "libbacktrace/configure" (("WARN_FLAGS=3D(.*)-Werror" _ flags) (string-append "WARN_FLAGS=3D" flags))) (when (file-exists? "libsanitizer/libbacktrace") (substitute* "libsanitizer/libbacktrace/Makefile.in" (("-Werror") "")))) (substitute* "libstdc++-v3/src/Makefile.in" (("^OPT_LDFLAGS =3D ") "OPT_LDFLAGS =3D -Wl,-rpath=3D$(libdir) ")) (substitute* "libstdc++-v3/python/Makefile.in" (("pythondir =3D .*$") (string-append "pythondir =3D " libdir "/share" "/gcc-$(gcc_version)/python\n"))) (substitute* "gcc/config.in" (("PREFIX_INCLUDE_DIR") "PREFIX_INCLUDE_DIR_isnt_necessary_here")) #t))) (add-after 'configure 'post-configure (lambda _ (substitute* "Makefile" (("^TOPLEVEL_CONFIGURE_ARGUMENTS=3D(.*)$" _ rest) "TOPLEVEL_CONFIGURE_ARGUMENTS=3D\n")) #t))) (add-after 'unpack 'unpack-gmp&co (lambda* (#:key inputs #:allow-other-keys) (let ((gmp (assoc-ref %build-inputs "gmp-source")) (mpfr (assoc-ref %build-inputs "mpfr-source")) (mpc (assoc-ref %build-inputs "mpc-source"))) (for-each (lambda (source) (invoke "tar" "xvf" source)) (list gmp mpfr mpc)) (symlink "gmp-6.0.0" "gmp") (symlink "mpfr-4.0.2" "mpfr") (symlink "mpc-1.1.0" "mpc") #t))))) scheme@(guix-user)> =2D-8<---------------cut here---------------end--------------->8--- And here is what Guix says about the configure options for %gcc-static, when cross-compiled for powerpc64le-linux-gnu on an x86_64-linux system using commit 662e7e28d576ada91fc9dec7d27c100666114f03, which is the one we used to build the powerpc64le-linux bootstrap binaries: =2D-8<---------------cut here---------------start------------->8--- scheme@(guix-user)> package->bag $1 =3D #bag (package #:optional system target #:key gra= ft?)> scheme@(guix-user)> ,pp (bag-arguments (package->bag (@@ (gnu packages make= -bootstrap) %gcc-static) "x86_64-linux" "powerpc64le-linux-gnu")) $2 =3D (#:system "x86_64-linux" #:target "powerpc64le-linux-gnu" #:modules ((srfi srfi-1) (srfi srfi-26) (ice-9 regex) (guix build gnu-build-system) (guix build utils) (guix build gremlin) (guix elf)) #:out-of-source? #t #:configure-flags (append (list "--disable-bootstrap" "--with-stage1-ldflags=3D-static" "--enable-languages=3Dc,c++" "--disable-lto" "--disable-shared" "--disable-plugin" "--disable-libmudflap" "--disable-libatomic" "--disable-libsanitizer" "--disable-libitm" "--disable-libgomp" "--disable-libcilkrts" "--disable-libvtv" "--disable-libssp" "--disable-libquadmath") (remove (cut string-match "--(.*plugin|enable-languages)" <>) `("--enable-plugin" "--enable-languages=3Dc,c++" "--disable-multilib" "--with-system-zlib" "--disable-libstdcxx-pch" "--with-local-prefix=3D/no-gcc-local-prefix" ,(string-append "--with-gxx-include-dir=3D" (assoc-ref %outputs "out") "/include/c++") ,(let ((libc (assoc-ref %build-inputs "libc"))) (if libc (string-append "--with-native-system-header-dir=3D" libc "/include") "--without-headers")) "CC_FOR_TARGET=3Dpowerpc64le-linux-gnu-gcc" "CXX_FOR_TARGET=3Dpowerpc64le-linux-gnu-g++" "LD_FOR_TARGET=3Dpowerpc64le-linux-gnu-ld" "AR_FOR_TARGET=3Dpowerpc64le-linux-gnu-ar" "NM_FOR_TARGET=3Dpowerpc64le-linux-gnu-nm" "OBJDUMP_FOR_TARGET=3Dpowerpc64le-linux-gnu-objdump" "RANLIB_FOR_TARGET=3Dpowerpc64le-linux-gnu-ranlib" "STRIP_FOR_TARGET=3Dpowerpc64le-linux-gnu-strip"))) #:make-flags '("CFLAGS=3D-g0 -O2") #:tests? #f #:phases (modify-phases (modify-phases %standard-phases (add-before 'configure 'pre-configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((libdir (string-append (or (assoc-ref outputs "lib") (assoc-ref outputs "out")) "/" "powerpc64le-linux-gnu")) (libc (assoc-ref inputs "libc"))) (when libc (for-each (lambda (x) (substitute* (find-files "gcc/config" "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") (("(#define (GLIBC|GNU_USER)_DYNAMIC_LINKER.*)\\\\\n= $" _ line) line))) '(1 2 3)) (substitute* (find-files "gcc/config" "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ \t]*).*$" _ gnu-user suffix) (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%" gnu-user suffix (string-append libc "/lib/ld64.so.2")))) (substitute* (find-files "gcc/config" "^gnu-user.*\\.h$") (("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix) (format #f "#define GNU_USER_TARGET_LIB_SPEC \"-L~a/lib %{!stati= c:-rpath=3D~a/lib %{!static-libgcc:-rpath=3D~a/lib -lgcc_s}} \" ~a" libc libc libdir suffix)) (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line) (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"\n#def= ine STANDARD_STARTFILE_PREFIX_2 \"\"\n~a" libc line))) (substitute* "gcc/config/rs6000/sysv4.h" (("#define LIB_LINUX_SPEC (.*)$" _ suffix) (format #f "#define LIB_LINUX_SPEC \"-L~a/lib %{!static:-rpath= =3D~a/lib %{!static-libgcc:-rpath=3D~a/lib -lgcc_s}} \" ~a" libc libc libdir suffix)) (("#define\tSTARTFILE_LINUX_SPEC.*$" line) (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"\n#def= ine STANDARD_STARTFILE_PREFIX_2 \"\"\n~a" libc line)))) (substitute* "fixincludes/fixincl.x" (("static char const sed_cmd_z\\[\\] =3D.*;") "static char const sed_cmd_z[] =3D \"sed\";")) (when (file-exists? "gcc/config/aarch64") (substitute* "gcc/config/aarch64/t-aarch64-linux" (("lib64") "lib"))) (when (file-exists? "libbacktrace") (substitute* "libbacktrace/configure" (("WARN_FLAGS=3D(.*)-Werror" _ flags) (string-append "WARN_FLAGS=3D" flags))) (when (file-exists? "libsanitizer/libbacktrace") (substitute* "libsanitizer/libbacktrace/Makefile.in" (("-Werror") "")))) (substitute* "libstdc++-v3/src/Makefile.in" (("^OPT_LDFLAGS =3D ") "OPT_LDFLAGS =3D -Wl,-rpath=3D$(libdir) ")) (substitute* "libstdc++-v3/python/Makefile.in" (("pythondir =3D .*$") (string-append "pythondir =3D " libdir "/share" "/gcc-$(gcc_version)/python\n"))) (substitute* "gcc/config.in" (("PREFIX_INCLUDE_DIR") "PREFIX_INCLUDE_DIR_isnt_necessary_here")) #t))) (add-after 'configure 'post-configure (lambda _ (substitute* "Makefile" (("^TOPLEVEL_CONFIGURE_ARGUMENTS=3D(.*)$" _ rest) "TOPLEVEL_CONFIGURE_ARGUMENTS=3D\n")) #t))) (add-after 'pre-configure 'remove-lgcc_s (lambda _ (substitute* (cons "gcc/config/rs6000/sysv4.h" (find-files "gcc/config" "^gnu-user.*\\.h$")) ((" -lgcc_s}}") "}}")) #t))) #:guile #f) scheme@(guix-user)> =2D-8<---------------cut here---------------end--------------->8--- As you can see, --with-long-double-128 is missing in all three cases. And yet, the packages appear to work correctly. I do not know why, but I wonder if perhaps we should add --with-long-double-128 for gcc and gcc-static on powerpc64le-linux. A thought occurred to me: can we remove the --with-long-double-128 from cross-base.scm and commencement.scm? As an experiment, I have tried removing it, and I can confirm that we do need it in both places. Removing it from cross-base.scm breaks the ability to create cross-compilers for the powerpc64le-linux-gnu target, and removing it from commencement.scm breaks the ability to build essentially anything on powerpc64le-linux. The failure mode in both cases is similar; in any case, we do need it in both of those places. I just don't understand why we apparently do NOT need this option in gcc, gcc-final, and %bootstrap-gcc on powerpc64le-linux. Like I said...maybe it really IS required there, too, but we just haven't encountered any problems yet... I don't know, and would welcome your thoughts. =2D-=20 Chris --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJJBAEBCAAzFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAmBdfroVHGNtbWFydXNp Y2hAZ21haWwuY29tAAoJEN1AmhXYIkadqOEP/3qKb1aTIWAnLbYlBVvWQYk7Ccfd EvUAksH1MUqdWQQjY7FUY7L6k2qVibTd13KWTyKuLnaTdNAdcBK8BwGroeqTKfVL OYFSkectd28IPPRvIEr64odg9dbNyq6l4bmJM+KNkRcaxEHbVpzbBvsYBrUBBiRP cQ0z6LCW8JAgCf4l6P04kIAGNFxQ4KKrVVJ++dhkV9nX5e/CwUn+N9If/hXWuHC9 y7VymOYWc+z0klHdDPW9FmCJl0e4n1OjKvhb2XBggOQwJC4kYI/m2/Mx6/9oeS2P 7nfT2wFeyKe7naTRs1+q4zeJ7fy5kIgWYL6A1+8kXWR9KM/MpewgQT7G+XYsWSs2 LtZme+2e2ptDqD97TClgFpRXKXNijta0K+m1HtidqfEERoV9ZGRLZf88NV7yOSjO J1ZZ8vgHJ56RzPy4J2HY/obwxebcfvzvSmlmaPvV4gH6Kncwu9owDh6ln0ynf03S wxHcfh7p2VDpXAGJuqE2szFCe7QoJhymG1accjNsDEDVXwXfU3oSod3G1ipcoSGE Su1kxRN8YloHTK0nYAG9+ZQWdJxFCSTj4+IAh1ie3W6zPdtg+FNHu3rvU/FyUdSa cskhsttNw1mhM/1aEQgW/bmx02FPkfup8lL/z5BKu6u1RDpYxCsrqTA4q41teiro UNV9BZGT9hUWNYwc =vb+m -----END PGP SIGNATURE----- --=-=-=--