guix-devel
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]