From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Enge Subject: Re: Porting to mips64el Date: Wed, 20 Feb 2013 17:25:02 +0100 Message-ID: <201302201725.02781.andreas@enge.fr> References: <8738yvnslh.fsf@karetnikov.org> <201302201030.24076.andreas@enge.fr> <87ppzvp60y.fsf@gnu.org> Mime-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([208.118.235.92]:43329) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U8CaD-0005eD-B9 for bug-guix@gnu.org; Wed, 20 Feb 2013 11:31:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U8CTk-0003Bt-H3 for bug-guix@gnu.org; Wed, 20 Feb 2013 11:25:26 -0500 In-Reply-To: <87ppzvp60y.fsf@gnu.org> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: Ludovic =?utf-8?q?Court=C3=A8s?= Cc: bug-guix@gnu.org Am Mittwoch, 20. Februar 2013 schrieb Ludovic Court=C3=A8s: > How exactly did you modify gcc-boot0? =46or 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 =2D-- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -705,6 +705,10 @@ identifier SYSTEM." ;; No libc yet. "--without-headers" =20 + ;; special options for mips64 + "--with-arch=3Dmips64" + "--with-abi=3D64" + ;; Disable features not needed at this stage. The problem is apparently in the bootstrap glibc, which does not contain=20 the 64 bit headers. config.log shows that the freshly compiled xgcc does=20 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= =20 =2DB/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=20 /nix/store/m3wmr929pkbcs2j2fqqsjla17400v0xl-gcc-cross-boot0-4.7.2/mips64el- guix-linux-gnu/include -isystem=20 /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:=20 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,= =20 compiled with CFLAGS=3D"-march=3Dmips64 -mabi=3D64" Could you maybe provide some, Nikita? Or am I mistaken? glibc also provides the option "--enable-multi-arch", to have 32 and 64 bit= =20 libraries on the same system. But then first the binutils need to provide=20 several flavours of programs, and this looks like a much more difficult=20 approach. Andreas