[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Patch adding POWER9 cross compile support
From: |
Efraim Flashner |
Subject: |
Re: Patch adding POWER9 cross compile support |
Date: |
Mon, 11 Mar 2019 09:52:04 +0200 |
User-agent: |
Mutt/1.11.3 (2019-02-01) |
On Sun, Mar 10, 2019 at 09:20:04PM +0100, Tobias Platen wrote:
> 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 if
> gcc does not have the float128 datatype. Once I saw this link[1] on 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.html
>
> Tobias
>
> On 03/10/2019 06:27 PM, Ludovic Courtès wrote:
> > Hi Tobias,
> >
> > Tobias Platen <address@hidden> skribis:
> >
> > > On 03/06/2019 02:54 PM, Ludovic Courtès wrote:
> > > > + ,@(if (string-prefix? "powerpc9-"
> > > > target)
> > > > + ;; On POWER9 we need this because
> > > > 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.
> >
> > I don’t think that answers my questions. :-)
> >
> > Those were:
> >
> > 1. What GNU triplet do you use?
>
> >
> > 2. What the reason for this extra configure flag, so we can add it in
> > the comment above in place of XXX?
> >
> > TIA!
> >
> > Ludo’.
> >
> 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
In the off chance we ever wish to support powerpc64 big endian, I
suggest instead using (string-prefix? "powerpc64*-" target)
As far as '--with-long-double-128', I think it's worth finding out which
architectures accept it and allowing it for all of those, rather than
making it powerpc64le only.
--
Efraim Flashner <address@hidden> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
signature.asc
Description: PGP signature