From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tobias Platen Subject: Re: Patch adding POWER9 cross compile support Date: Sun, 10 Mar 2019 21:20:04 +0100 Message-ID: <3727eb95-933f-0fd5-a98c-98c2ed73b133@platen-software.de> References: <8736o0hzvs.fsf@gnu.org> <35fe8a38-74ec-9295-2a85-bb2d5e2003a7@platen-software.de> <878sxm3aik.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------D9FC908E636F931FE9E0EBE5" Return-path: Received: from eggs.gnu.org ([209.51.188.92]:34707) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h34vY-0001nB-DN for guix-devel@gnu.org; Sun, 10 Mar 2019 16:20:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h34vX-0001nz-GO for guix-devel@gnu.org; Sun, 10 Mar 2019 16:20:08 -0400 In-Reply-To: <878sxm3aik.fsf@gnu.org> Content-Language: de-LU List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: =?UTF-8?Q?Ludovic_Court=c3=a8s?= Cc: Guix-devel This is a multi-part message in MIME format. --------------D9FC908E636F931FE9E0EBE5 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable I ran configure on my Talos II, and got the following error message. checking for the Guix system type... powerpc64le-linux configure: error: `powerpc64le-linux' is not a supported platform. See "GNU Distribution" in the manual, or try `--with-courage'. Guix already knows about this architecture, but building glibc will fail=20 if gcc does not have the float128 datatype. Once I saw this link[1] on=20 the guix mailing list, I knew how to solve the build error. For the second question I could not find an answer. [1] http://lists.busybox.net/pipermail/buildroot/2017-September/201379.ht= ml Tobias On 03/10/2019 06:27 PM, Ludovic Court=C3=A8s wrote: > Hi Tobias, >=20 > Tobias Platen skribis: >=20 >> On 03/06/2019 02:54 PM, Ludovic Court=C3=A8s wrote: >>> + ,@(if (string-prefix? "powerpc9-" tar= get) >>> + ;; On POWER9 we need this becau= se XXX. >>> + '("--with-long-double-128") >>> + '()) >>> + >> It needs to be ppc64el I think. I will later do a test in a big endian >> vm. POWER9 is a bi-endian architecture, and most distros only support >> little-endian. POWER4 only supports big-endian, and is still supported >> by some distros. After testing I will send an updated patch. >=20 > I don=E2=80=99t think that answers my questions. :-) >=20 > Those were: >=20 > 1. What GNU triplet do you use? >=20 > 2. What the reason for this extra configure flag, so we can add it i= n > the comment above in place of XXX? >=20 > TIA! >=20 > Ludo=E2=80=99. >=20 --------------D9FC908E636F931FE9E0EBE5 Content-Type: text/x-patch; name="guix.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="guix.diff" diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 6a09272..0992259 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -138,6 +138,10 @@ base compiler and using LIBC (which may be either a libc package or #f.)" "--disable-libquadmath" "--disable-decimal-float" ;would need libc "--disable-libcilkrts" + ,@(if (string-prefix? "powerpc64le-" 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 --------------D9FC908E636F931FE9E0EBE5--