bug-guix
[Top][All Lists]
Advanced

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

Re: Porting to mips64el


From: Andreas Enge
Subject: Re: Porting to mips64el
Date: Wed, 20 Feb 2013 17:25:02 +0100
User-agent: KMail/1.13.7 (Linux/3.2.0-4-amd64; KDE/4.8.4; x86_64; ; )

Am Mittwoch, 20. Februar 2013 schrieb Ludovic Courtès:
> How exactly did you modify gcc-boot0?

For the time being, I simply hard-coded two additional configure flags:

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 5c39ec3..25e07bc 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -705,6 +705,10 @@ identifier SYSTEM."
                             ;; No libc yet.
                             "--without-headers"
 
+                            ;; special options for mips64
+                            "--with-arch=mips64"
+                            "--with-abi=64"
+
                             ;; Disable features not needed at this stage.

The problem is apparently in the bootstrap glibc, which does not contain 
the 64 bit headers. config.log shows that the freshly compiled xgcc does 
not compile a file, with the following error message:

configure:3792: /tmp/nix-build-gcc-cross-boot0-4.7.2.drv-0/build/./gcc/xgcc 
-B/tmp/nix-build-gcc-cross-boot0-4.7.2.drv-0/build/./gcc/ -
B/nix/store/m3wmr929pkbcs2j2fqqsjla17400v0xl-gcc-cross-
boot0-4.7.2/mips64el-guix-linux-gnu/bin/ -
B/nix/store/m3wmr929pkbcs2j2fqqsjla17400v0xl-gcc-cross-
boot0-4.7.2/mips64el-guix-linux-gnu/lib/ -isystem 
/nix/store/m3wmr929pkbcs2j2fqqsjla17400v0xl-gcc-cross-boot0-4.7.2/mips64el-
guix-linux-gnu/include -isystem 
/nix/store/m3wmr929pkbcs2j2fqqsjla17400v0xl-gcc-cross-boot0-4.7.2/mips64el-
guix-linux-gnu/sys-include     -c -g -O2 -minterlink-mips16  conftest.c >&5
In file included from /nix/store/j2gf9gm512s8y64pgvw84258p3qsqfkq-glibc-
bootstrap-0/include/features.h:399:0,
                 from /nix/store/j2gf9gm512s8y64pgvw84258p3qsqfkq-glibc-
bootstrap-0/include/stdio.h:27,
                 from conftest.c:10:
/nix/store/j2gf9gm512s8y64pgvw84258p3qsqfkq-glibc-
bootstrap-0/include/gnu/stubs.h:23:33: fatal error: gnu/stubs-n64_hard.h: 
No such file or directory

The file
/nix/store/j2gf9gm512s8y64pgvw84258p3qsqfkq-glibc-
bootstrap-0/include/gnu/stubs.h
tries to include stubs-n64_hard.h ("hard" standing for "hard float");
but there is only a stubs-n32_hard.h in the directory.

If I understand things correctly, we need a new set of bootstrap binaries, 
compiled with
   CFLAGS="-march=mips64 -mabi=64"
Could you maybe provide some, Nikita? Or am I mistaken?

glibc also provides the option "--enable-multi-arch", to have 32 and 64 bit 
libraries on the same system. But then first the binutils need to provide 
several flavours of programs, and this looks like a much more difficult 
approach.

Andreas



reply via email to

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