Mark H Weaver <m...@netris.org> writes: > 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: > > 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