l...@gnu.org (Ludovic Courtès) writes: > Mark H Weaver <m...@netris.org> 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: --8<---------------cut here---------------start------------->8--- 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 ;; --8<---------------cut here---------------end--------------->8--- Mark