guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MIPS64/N64 support


From: Ludovic Courtès
Subject: Re: MIPS64/N64 support
Date: Sat, 07 Sep 2013 14:57:02 +0200
User-agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux)

Nikita Karetnikov <address@hidden> skribis:

> When I tested the previous set of binaries (see the mips64el branch), it
> was necessary to adjust ‘%url-base’ in ‘build-aux/download.scm’.  It
> seems that now it’s not needed since they are already available on
> hydra.gnu.org.

Well, when you’ve confirmed that you’ve managed to build something with
these binaries, I’ll upload them to alpha.gnu.org, and then we can have
bootstrap.scm and build-aux/download.scm refer to that.

> What I’ve done so far:
>
> 1. Added ‘mips64el-linux-gnuabi64’ to ‘glibc-dynamic-linker’ in
>    ‘bootstrap.scm’.
>
> 2. Adjusted ‘%bootstrap-coreutils&co’ and similar procedures.
>
> 3. Created ‘mips64el-linux-gnuabi64’ in ‘gnu/packages/bootstrap/’.

Hmm, I think we should just call it ‘mips64el-linux’ since the ABI is
really something orthogonal.

> 4. Placed ‘bash’, ‘mkdir’, ‘tar’, ‘xz’, and ‘guile-2.0.7.tar.xz’* in
>    that directory.
>
>    * It’s 2.0.9.  I decided not to touch ‘%bootstrap-guile’ for now to
>      avoid errors.

What do you mean?  ‘%bootstrap-guile’ needs to refer to that 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
> ‘%current-system’ is set to ‘mips64el-linux’.  I’ve 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/…guile-bootstrap-2.0.drv', but I am a
>   `mips64el-linux'

Good question.  I think we should use ‘mips64el-linux’ as the system
type (which is really just ARCHITECTURE-KERNEL).  IOW, let’s not use
‘mips64el-linux-gnuabi64’ anywhere, except as a GNU triplet when
cross-compiling.

When we want to support multiple ABIs for a given ARCHITECTURE-KERNEL
tuple, we’ll have to provide a mechanism in addition to --system that
would allow users to select the libc/gcc/binutils to use, I think.

For now, let’s just keep it simple and use ‘mips64el-linux’ for N64.

Thanks,
Ludo’.



reply via email to

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