From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 26 10:33:23 2021 Received: (at 47349) by debbugs.gnu.org; 26 Mar 2021 14:33:23 +0000 Received: from localhost ([127.0.0.1]:42200 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lPnWb-0005pt-WC for submit@debbugs.gnu.org; Fri, 26 Mar 2021 10:33:23 -0400 Received: from mail.zaclys.net ([178.33.93.72]:39331) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lPnWZ-0005pe-Kt for 47349@debbugs.gnu.org; Fri, 26 Mar 2021 10:33:21 -0400 Received: from guix-xps.local (82-64-145-38.subs.proxad.net [82.64.145.38]) (authenticated bits=0) by mail.zaclys.net (8.14.7/8.14.7) with ESMTP id 12QEX8HX036352 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 26 Mar 2021 15:33:09 +0100 DMARC-Filter: OpenDMARC Filter v1.3.2 mail.zaclys.net 12QEX8HX036352 Authentication-Results: mail.zaclys.net; dmarc=fail (p=reject dis=none) header.from=zaclys.net Authentication-Results: mail.zaclys.net; spf=fail smtp.mailfrom=lle-bout@zaclys.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zaclys.net; s=default; t=1616769189; bh=BZU/h1N8N4s14teBjLnp+L1pHpG9bbD8NXxUtsdeTM0=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=F4wauigoMMjbZwkjDupbIJ4mKC5aSSKgVoJeFnkuFl3yxDnJNF1gDt8Si4Q0z9Q6+ vAPLFt2SGKpDsDYGTBa/ZREbbshgj/EaJ3SplVytc0lMVa0xgAFtUSwfQekCEuK/8B 5jBGOC3Q/R9lPZSbpX0U1CK3ljqYUevGaSMr5kmY= Message-ID: <796a3aa4e83a7ae6526b3553970150a91ab8307b.camel@zaclys.net> Subject: Re: [bug#47349] [PATCH] gnu: cross-base: Relax check for powerpc64le From: =?ISO-8859-1?Q?L=E9o?= Le Bouter To: Chris Marusich , Carl Dong Date: Fri, 26 Mar 2021 15:33:03 +0100 In-Reply-To: <871rc2bfb9.fsf@gmail.com> References: <20210323160213.1194843-1-contact@carldong.me> <871rc2bfb9.fsf@gmail.com> Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-Ab7nn8OHRHdRfIV/GcTP" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 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 (-) --=-Ab7nn8OHRHdRfIV/GcTP Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 2021-03-25 at 23:27 -0700, Chris Marusich wrote: > Hi people, >=20 > Carl Dong writes: >=20 > > * gnu/packages/cross-base.scm (cross-gcc-arguments): Check for > > "powerpc64le-" prefix for "--with-long-double-128" instead of > > matching > > full target. >=20 > 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. >=20 > While reviewing this patch, I noticed that surprisingly, we do not > use > --with-long-double in the following places: >=20 > - The gcc package (a GCC v7.5.0 native compiler) on powerpc64le-linux > systems. >=20 > - The gcc-final package (a GCC v7.5.0 native compiler) on > powerpc64le-linux systems. >=20 > - The %bootstrap-gcc package (a GCC v5.5.0 native compiler) on > powerpc64le-linux systems. >=20 > - 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.) >=20 > 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? >=20 > 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: >=20 > --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#define 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#define 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 commencement) gcc-final))) > $4 =3D (#:system > "powerpc64le-linux" > #:guile > # 7fff75bdcf00> > #:allowed-references > ("out" > "lib" > # 7fff692745a0> > # 7fff69274820> > # 7fff69274960>) > #: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 > %{!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#define 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#define 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)> > --8<---------------cut here---------------end--------------->8--- >=20 > 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: >=20 > --8<---------------cut here---------------start------------->8--- > scheme@(guix-user)> package->bag > $1 =3D #bag (package #:optional system target #:key > graft?)> > 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 > %{!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#define 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#define 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)> > --8<---------------cut here---------------end--------------->8--- >=20 > 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. >=20 > 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. >=20 > 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. >=20 > --=20 > Chris Nice tricks to display package definitions, thanks for sharing ways to do that! I would say we wait for actual problems before trying to fix anything, the switch is only needed for compiling Glibc AIUI. L=C3=A9o --=-Ab7nn8OHRHdRfIV/GcTP Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEFIvLi9gL+xax3g6RRaix6GvNEKYFAmBd8J8ACgkQRaix6GvN EKZu8w//TiON1eTAn9yChBzeQh5Nl0Z24vye/f0w4alxLTMKTno2G1wkvD7MS40W MqNYeUrh50Mwhvrbr+F6wX4iYx6EWoz81mXn895GhI2BEdas2a2Q2ddmrkvlqH+V sUxjVg3c4hzdo8DB+l5AVvxds4ZqrhddNk93Ljj2w5GHDfLVPt3JBOgbuVzYtIFL u49GausiAExkBiY/bYBsaWzNnM/YSXAfBkOsR2QZpFHsn7qdSBzIzTw3qswX5/gN RXSqqZjYc1IP97tYMjO8MiiCLlX5XJJsQDKO4yfCyiiFp9DYjpeBrbmEeOqPTBGj 5FK8scQobvftbf/FJ+dmSyNg8Ir0t+v0nYA2rAY/bfrkXaFG87shwcz7kwcH/hVt EoYhXmqVI33Vfw3drdeP1/5r6EJGbLa92kLSu/wsMe6kUnX164bXmWeNknb1U5Ue /2+9YQqdrPkFLXdgkC69LCVxK3u7WHOqkOCJGV9B0VLU97zS8dM6Y4fI65aY/urm cwD+fEWIOvJcbc8iXB7XGHN496HvUe+tdfQhjCJkHanfNnXFxPH7x4dkWmFAn8xn sCvHc+4T/ZwZ3sZPn7cAxHVWxU9KmuOnU06v+VZ19g4oXgzDB1zYLgt3VmLYu4KC a2UMAhGFWgg74rY8IBNUeuH3kA4+i9Gn8WHEg0JoOYiQXODf0bU= =hIf8 -----END PGP SIGNATURE----- --=-Ab7nn8OHRHdRfIV/GcTP--