From mboxrd@z Thu Jan 1 00:00:00 1970 From: Efraim Flashner Subject: [PATCH 0/6] WIP aarch64 support Date: Thu, 9 Feb 2017 20:45:04 +0200 Message-ID: <20170209184510.24200-1-efraim@flashner.co.il> Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36343) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cbtim-0002tn-H9 for guix-devel@gnu.org; Thu, 09 Feb 2017 13:45:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cbtih-00039U-Km for guix-devel@gnu.org; Thu, 09 Feb 2017 13:45:32 -0500 Received: from flashner.co.il ([178.62.234.194]:55194) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cbtih-00039K-Dm for guix-devel@gnu.org; Thu, 09 Feb 2017 13:45:27 -0500 Received: from localhost (85.64.232.168.dynamic.barak-online.net [85.64.232.168]) by flashner.co.il (Postfix) with ESMTPSA id 42A7D40077 for ; Thu, 9 Feb 2017 18:45:24 +0000 (UTC) List-Id: "Development of GNU Guix and the GNU System distribution." 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" To: guix-devel@gnu.org Here's my current aarch64 patch set. As attached I don't know if the patc= hes will apply, I stripped bootstrap bash/mkdir/tar/xz out of the set so the = email won't be too big. grep without custom phase: The main purpose of this patch is so that it can be reapplied in the next patch. Without the patch, fgrep is: #! /gnu/store/eee...-bootstrap-binaries/bin/sh exec /gnu/store/eee...-grep-2.28/bin/grep -F ... and there's no simple way to fix that This patch should work against master. patch egrep/fgrep: I don't believe this actually patches egrep/fgrep, just the version in /t= mp so that it passes the test. Regardless, it passes the test at unpack time= , and it works later on. This patch breaks all the current architectures, since egrep/fgrep are binaries pre grep-2.25. daemon patch: The if statement should be easy to write, but I'm having a really hard ti= me with it. Interestingly, when I used the armhf binary install tarball the daemon there worked. add bootstrap-binaries: This one (still) isn't final, the ones currently hosted at the time of th= is email were built without the first patch, so building failed. Even with the patch to the test, not all the tests passed at last check. gcc patch: I don't know if this is necessary, but we try not to use lib64. There was supposed to be another aarch64 gcc patch, to add aarch64 specific flags, but all of the flags caused the bootstrapping GCCs to fail, so I had to t= ake them out. We'll have to figure something out, at the very least to make s= ure we're targeting ARMv8-a and not 8.1 or 8.2 as more devices come out. aarch64-linux-gnu target: This one I tossed in. Efraim Flashner (6): gnu: %static-inputs: Use 'grep' without custom phase. gnu: %bootstrap-coreutils&co: Patch egrep/fgrep to work regardless of $PATH. daemon: On aarch64, use increments of 16 on the stack. gnu: Add bootstrap-binaries for 'aarch64-linux'. gnu: gcc: Force Aarch64 to use /lib. hydra: Add "aarch64-linux-gnu" as a cross-compilation target. build-aux/download.scm | 20 ++++++++++++------- build-aux/hydra/gnu-system.scm | 1 + doc/guix.texi | 3 +++ gnu/local.mk | 15 +++++++++++++++ gnu/packages/bootstrap.scm | 30 +++++++++++++++++++++++= +++++- gnu/packages/bootstrap/aarch64-linux/bash | Bin 0 -> 1162056 bytes gnu/packages/bootstrap/aarch64-linux/mkdir | Bin 0 -> 558216 bytes gnu/packages/bootstrap/aarch64-linux/tar | Bin 0 -> 1085128 bytes gnu/packages/bootstrap/aarch64-linux/xz | Bin 0 -> 738576 bytes gnu/packages/gcc.scm | 4 ++++ gnu/packages/make-bootstrap.scm | 12 +++++++++++- m4/guix.m4 | 3 ++- nix/libstore/build.cc | 7 ++++++- tests/packages.scm | 2 ++ 14 files changed, 86 insertions(+), 11 deletions(-) create mode 100755 gnu/packages/bootstrap/aarch64-linux/bash create mode 100755 gnu/packages/bootstrap/aarch64-linux/mkdir create mode 100755 gnu/packages/bootstrap/aarch64-linux/tar create mode 100755 gnu/packages/bootstrap/aarch64-linux/xz --=20 2.11.1