From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: Preliminary 'wip-armhf' branch pushed Date: Sat, 03 Jan 2015 13:49:58 -0500 Message-ID: <87iognya09.fsf@netris.org> References: <87lhln7mlk.fsf@netris.org> <877fx4hpyg.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 ([2001:4830:134:3::10]:47903) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y7TlX-0006D9-UR for guix-devel@gnu.org; Sat, 03 Jan 2015 13:49:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y7TlP-0005sp-Sq for guix-devel@gnu.org; Sat, 03 Jan 2015 13:49:35 -0500 In-Reply-To: <877fx4hpyg.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 02 Jan 2015 21:45:11 +0100") 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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Mark H Weaver skribis: > >> I chose system name "armhf-linux", GNU triplet "arm-linux-gnueabihf", >> and the following GCC configure flags: >> >> --with-arch=3Darmv7-a >> --with-float=3Dhard >> --with-mode=3Dthumb >> --with-fpu=3Dvfpv3-d16 > > Does it mean that GCC generates Thumb code by default? Yes. I confess that I'm not sufficiently knowledgeable about ARM to understand the tradeoffs here, and have simply followed Debian's lead. There is some rationale here: https://wiki.debian.org/ArmHardFloatPort There, it says: Thumb-2/ThumbEE: Thumb-2 provides code size improvements and unlike thumb(1) there is no interworking overhead except in a few corner cases. Also Thumb-2 is sufficiently complete that there is no need to fall back to ARM ISA for some operations (unlike thumb1). Thus defaulting to Thumb-2 on v7 or later makes sense. I haven't yet verified that our GCC is generating Thumb-2 instructions (as opposed to Thumb-1). Debian's GCC apparently does, but they apply a rather large patch from Linaro. This should be checked at some point. Anyway, here are some more links that might be worth looking at if we run into build problems: https://wiki.ubuntu.com/ARM/Thumb2 https://wiki.ubuntu.com/ARM/Thumb2PortingHowto Regards, Mark