From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: Pass --build= to native builds by default? Date: Sat, 03 Jan 2015 17:15:42 -0500 Message-ID: <871tnby0hd.fsf@netris.org> References: <87egrby6p8.fsf@netris.org> <87ppav8tot.fsf@gnu.org> <8761cny0o2.fsf@netris.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]:41546) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y7WyY-00068a-8g for guix-devel@gnu.org; Sat, 03 Jan 2015 17:15:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y7WyU-0003mX-8V for guix-devel@gnu.org; Sat, 03 Jan 2015 17:15:14 -0500 In-Reply-To: <8761cny0o2.fsf@netris.org> (Mark H. Weaver's message of "Sat, 03 Jan 2015 17:11:41 -0500") 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 Mark H Weaver writes: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> Mark H Weaver skribis: >> >>> It turns out that on ARM systems, the result of 'config.guess' depends >>> on the result of 'uname -m'. In other words, details of the kernel (and >>> perhaps processor?) on the build machine will determine the triplet of >>> our builds, which in turn may affect what set of instructions is used. >> >> Do you know how the =E2=80=98uname -m=E2=80=99 output is used in config.= guess? What >> does it return on ARM? > > The output of 'uname -m' becomes the first (cpu) component of the GNU > triplet. uname(1) gets its information from the kernel via the uname(2) > system call. The field returned by 'uname -m' is described as "Hardware > identifier". See . > > Here's the relevant section of config.guess from gcc-4.8.4: > > arm*:Linux:*:*) > eval $set_cc_for_build > if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ > | grep -q __ARM_EABI__ > then > echo ${UNAME_MACHINE}-unknown-linux-${LIBC} > else > if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ > | grep -q __ARM_PCS_VFP > then > echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi > else > echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf > fi > fi > exit ;; I forgot to answer your second question. On my Novena, 'uname -m' returns "armv7l". The problem is this: I suspect that if the build machine has an armv8 processor, it will return something different like "armv8l". Mark