[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Pass --build=<triplet> to native builds by default?
From: |
Mark H Weaver |
Subject: |
Re: Pass --build=<triplet> to native builds by default? |
Date: |
Sat, 03 Jan 2015 17:15:42 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
Mark H Weaver <address@hidden> writes:
> address@hidden (Ludovic Courtès) writes:
>
>> Mark H Weaver <address@hidden> 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 ‘uname -m’ 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 <http://man7.org/linux/man-pages/man2/uname.2.html>.
>
> 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