From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:45284) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1idmRC-00037O-RM for guix-patches@gnu.org; Sat, 07 Dec 2019 21:36:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1idmR0-0001K9-Tm for guix-patches@gnu.org; Sat, 07 Dec 2019 21:36:40 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:44017) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1idmPW-0000wv-Ev for guix-patches@gnu.org; Sat, 07 Dec 2019 21:36:20 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1idmPW-0005sn-DS for guix-patches@gnu.org; Sat, 07 Dec 2019 21:35:02 -0500 Subject: [bug#38459] [PATCH] gnu: (cross-gcc-arguments|gcc-boot0): Enable 128 bit long double for POWER9. Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:58448) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1idfkc-00082P-Je for guix-patches@gnu.org; Sat, 07 Dec 2019 14:28:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1idfkb-00078o-CU for guix-patches@gnu.org; Sat, 07 Dec 2019 14:28:22 -0500 Received: from smtp3-g21.free.fr ([212.27.42.3]:19233) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1idfkb-00077b-0u for guix-patches@gnu.org; Sat, 07 Dec 2019 14:28:21 -0500 Received: from [IPv6:2a01:e0a:2a2:1590:3130:d4af:7a6d:562c] (unknown [IPv6:2a01:e0a:2a2:1590:3130:d4af:7a6d:562c]) by smtp3-g21.free.fr (Postfix) with ESMTP id 7BB8A13F89A for ; Sat, 7 Dec 2019 20:28:18 +0100 (CET) References: <9d5aee30-1cfe-434b-f191-3bbd06caa319@free.fr> <87h82its9y.fsf@nckx> <0e9bb696-0165-82c8-799b-58ae72e382cc@free.fr> From: dftxbs3e Message-ID: <07dcfc64-86c2-df79-9bf9-bf87b2568267@free.fr> Date: Sat, 7 Dec 2019 20:28:18 +0100 MIME-Version: 1.0 In-Reply-To: <0e9bb696-0165-82c8-799b-58ae72e382cc@free.fr> Content-Type: multipart/mixed; boundary="------------1AF078232365A1FBB786A2DD" Content-Language: en-US List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 38459@debbugs.gnu.org This is a multi-part message in MIME format. --------------1AF078232365A1FBB786A2DD Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable I could figure it out myself. Attached new patches! On 12/2/19 9:03 PM, dftxbs3e wrote: > Yes, it should certainly be guarded by an if to avoid breaking other=20 > platforms, even if it shouldnt hurt much. > > Issue is I do not know Scheme enough to figure out the syntax for an=20 > inline if like that. So I would appreciate if you could help me on that= ? > > On 12/2/19 8:57 PM, Tobias Geerinckx-Rice via Guix-patches via wrote: >> dftxbs3e, >> >> dftxbs3e =E5=86=99=E9=81=93=EF=BC=9A >>> This is to be applied against core-updates and fixes: >>> >>> $ guix build --target=3Dpowerpc64le-linux-gnu bootstrap-tarballs >> >> Thanks for sending this in!=C2=A0 I'll be sure to merge it if no one e= lse=20 >> has objections. >> >> I'm really not familiar with this part of Guix, though.=C2=A0 I'd naiv= ely=20 >> expect this to be guarded with an (if =E2=80=A6) so it only applies to= =20 >> POWER.=C2=A0 (Why) is that not possible or desirable? >> >> Kind regards, >> >> T G-R > > > --------------1AF078232365A1FBB786A2DD Content-Type: text/x-patch; charset=UTF-8; name="0002-gnu-cross-gcc-arguments-Enable-128-bit-long-double-f.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename*0="0002-gnu-cross-gcc-arguments-Enable-128-bit-long-double-f.pa"; filename*1="tch" >From 0628808608a0b0851de913a88d626234358100c5 Mon Sep 17 00:00:00 2001 From: dftxbs3e Date: Sat, 7 Dec 2019 20:27:12 +0100 Subject: [PATCH 2/2] gnu: cross-gcc-arguments: Enable 128 bit long double for POWER9. --- gnu/packages/cross-base.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 13237fb8a8..18dc1f592b 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -150,6 +150,11 @@ 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 -- 2.21.0 --------------1AF078232365A1FBB786A2DD Content-Type: text/x-patch; charset=UTF-8; name="0001-gnu-gcc-boot0-Enable-128-bit-long-double-for-POWER9.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename*0="0001-gnu-gcc-boot0-Enable-128-bit-long-double-for-POWER9.pat"; filename*1="ch" >From 66bcaaebe1761499a60518dc83975006aa30b58f Mon Sep 17 00:00:00 2001 From: dftxbs3e Date: Sat, 7 Dec 2019 20:26:51 +0100 Subject: [PATCH 1/2] gnu: gcc-boot0: Enable 128 bit long double for POWER9. --- gnu/packages/commencement.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 8bf7704598..a466a383bd 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1576,6 +1576,11 @@ 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."). -- 2.21.0 --------------1AF078232365A1FBB786A2DD--