From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: MIPS64/N64 support Date: Sat, 07 Sep 2013 14:57:02 +0200 Message-ID: <87eh907psx.fsf@gnu.org> References: <87vc2o4qwc.fsf@gnu.org> <87y57kljro.fsf@karetnikov.org> <87li3dd844.fsf_-_@karetnikov.org> <87d2opy6qa.fsf@gnu.org> <87r4d577ab.fsf@karetnikov.org> <87zjrswzin.fsf@gnu.org> <87hadygxe8.fsf@karetnikov.org> <87mwnq470w.fsf@gnu.org> <87y5791h9f.fsf@karetnikov.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45206) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VII9S-0000R7-BK for guix-devel@gnu.org; Sat, 07 Sep 2013 09:02:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VII9N-0002cM-8T for guix-devel@gnu.org; Sat, 07 Sep 2013 09:02:10 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:41769) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VII9M-0002cI-UF for guix-devel@gnu.org; Sat, 07 Sep 2013 09:02:05 -0400 In-Reply-To: <87y5791h9f.fsf@karetnikov.org> (Nikita Karetnikov's message of "Sat, 07 Sep 2013 06:45:48 +0400") List-Id: 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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Nikita Karetnikov Cc: guix-devel@gnu.org Nikita Karetnikov skribis: > When I tested the previous set of binaries (see the mips64el branch), it > was necessary to adjust =E2=80=98%url-base=E2=80=99 in =E2=80=98build-aux= /download.scm=E2=80=99. It > seems that now it=E2=80=99s not needed since they are already available on > hydra.gnu.org. Well, when you=E2=80=99ve confirmed that you=E2=80=99ve managed to build so= mething with these binaries, I=E2=80=99ll upload them to alpha.gnu.org, and then we can = have bootstrap.scm and build-aux/download.scm refer to that. > What I=E2=80=99ve done so far: > > 1. Added =E2=80=98mips64el-linux-gnuabi64=E2=80=99 to =E2=80=98glibc-dyna= mic-linker=E2=80=99 in > =E2=80=98bootstrap.scm=E2=80=99. > > 2. Adjusted =E2=80=98%bootstrap-coreutils&co=E2=80=99 and similar procedu= res. > > 3. Created =E2=80=98mips64el-linux-gnuabi64=E2=80=99 in =E2=80=98gnu/pack= ages/bootstrap/=E2=80=99. Hmm, I think we should just call it =E2=80=98mips64el-linux=E2=80=99 since = the ABI is really something orthogonal. > 4. Placed =E2=80=98bash=E2=80=99, =E2=80=98mkdir=E2=80=99, =E2=80=98tar= =E2=80=99, =E2=80=98xz=E2=80=99, and =E2=80=98guile-2.0.7.tar.xz=E2=80=99* = in > that directory. > > * It=E2=80=99s 2.0.9. I decided not to touch =E2=80=98%bootstrap-guil= e=E2=80=99 for now to > avoid errors. What do you mean? =E2=80=98%bootstrap-guile=E2=80=99 needs to refer to tha= t new tarball, right? > Am I on the right track? I think so! > Now, how can I test it? My machine uses a different ABI (N32), so > =E2=80=98%current-system=E2=80=99 is set to =E2=80=98mips64el-linux=E2=80= =99. I=E2=80=99ve already tried to run > > $ ./pre-inst-env guix build -K -s mips64el-linux-gnuabi64 hello > > but that failed with > > guix build: error: build failed: a `mips64el-linux-gnuabi64' is > required to build `/nix/store/=E2=80=A6guile-bootstrap-2.0.drv', but I = am a > `mips64el-linux' Good question. I think we should use =E2=80=98mips64el-linux=E2=80=99 as t= he system type (which is really just ARCHITECTURE-KERNEL). IOW, let=E2=80=99s not use =E2=80=98mips64el-linux-gnuabi64=E2=80=99 anywhere, except as a GNU triplet= when cross-compiling. When we want to support multiple ABIs for a given ARCHITECTURE-KERNEL tuple, we=E2=80=99ll have to provide a mechanism in addition to --system th= at would allow users to select the libc/gcc/binutils to use, I think. For now, let=E2=80=99s just keep it simple and use =E2=80=98mips64el-linux= =E2=80=99 for N64. Thanks, Ludo=E2=80=99.