Re: [gmp-bugs] Build feedback for gmp-6.1.0
t...@gmplib.org (Torbjörn Granlund) writes: > The /proc/cpuinfo suggest Cortex C9. It has Neon, and we do attempt to > put the compiler/assembler into a mode where Neon insn are accepted. Yet... At least for fat builds, it might still make sense to also add an explicit .fpu neon to neon assembly files. To handle the case that we don't want the compiler to emit any neon instructions, but will still want to use neon in assembly files which are used at runtime only if the fat machinery thinks the processor supports it. Regards, /Niels -- Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. ___ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs
Re: [gmp-bugs] Build feedback for gmp-6.1.0
"Nelson H. F. Beebe" writes: Marc Glisse asks on Thu, 25 Feb 2016 17:38:58 +0100 (CET) about my problem report for a build failure on ArchLinux on ARM: >> I was asking if CFLAGS is set in your environment, before trying to build >> GMP. Yes, my $HOME/.config.site, to which CONFIG_SITE points so that the configure script can find it, reports when it finishes: At exit from $HOME/.config.site, that script reports: exec_prefix = NONE prefix = /usr/uumath libdir = ${exec_prefix}/lib CC = CFLAGS = -I${prefix}/include CXX = CXXFLAGS = -I${prefix}/include LDFLAGS = -L${exec_prefix}/lib -Wl,-rpath,${exec_prefix}/lib If you set these variables, then you can expect GMP and other builds to fail. (You will also disable optimisation, except those packages that ignore your settings.) -- Torbjörn Please encrypt, key id 0xC8601622 ___ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs
Re: [gmp-bugs] Build feedback for gmp-6.1.0
Marc Glisse asks on Thu, 25 Feb 2016 17:38:58 +0100 (CET) about my problem report for a build failure on ArchLinux on ARM: >> I was asking if CFLAGS is set in your environment, before trying to build >> GMP. Yes, my $HOME/.config.site, to which CONFIG_SITE points so that the configure script can find it, reports when it finishes: At exit from $HOME/.config.site, that script reports: exec_prefix = NONE prefix = /usr/uumath libdir = ${exec_prefix}/lib CC = CFLAGS = -I${prefix}/include CXX = CXXFLAGS = -I${prefix}/include LDFLAGS = -L${exec_prefix}/lib -Wl,-rpath,${exec_prefix}/lib I'm currently building on more than 75 different O/S-CPU platforms for all local software, and also GNU and other free software. Similar settings are done on all of those build hosts, and the building is automated and parallelized by the build-all system described in Chapter 8 of our 2005 book Classic Shell Scripting. That system has been used here for more than 200,000 automated builds since we developed it (June 2003) for our book, and because of the growing size of our test lab, use is increasing. The ARM processor family is notorious for the number of instruction-set-architecture variants with its various chip models, and I assume that once gmp can properly identify the particular processor type, it should be able to either have an alternate assembly-code version for the failing file (tmp-lshift.s), or else revert to a portable C version. On my ARM appliance box, I can also report this output: % /usr/sbin/lscpu Architecture: armv7l Byte Order:Little Endian CPU(s):4 On-line CPU(s) list: 0-3 Thread(s) per core:1 Core(s) per socket:4 Socket(s): 1 Model name:ARMv7 Processor rev 10 (v7l) CPU max MHz: 996. CPU min MHz: 396. Finally, here are the symbols that the native compiler defines [the shell script used is freely available here: http://www.math.utah.edu/~beebe/cc-defs ]: % cc-defs /usr/bin/cc #define _STDC_PREDEF_H 1 #define __ACCUM_EPSILON__ 0x1P-15K #define __ACCUM_FBIT__ 15 #define __ACCUM_IBIT__ 16 #define __ACCUM_MAX__ 0X7FFFP-15K #define __ACCUM_MIN__ (-0X1P15K-0X1P15K) #define __APCS_32__ 1 #define __ARMEL__ 1 #define __ARM_32BIT_STATE 1 #define __ARM_ARCH 7 #define __ARM_ARCH_7A__ 1 #define __ARM_ARCH_ISA_ARM 1 #define __ARM_ARCH_ISA_THUMB 2 #define __ARM_ARCH_PROFILE 65 #define __ARM_EABI__ 1 #define __ARM_FEATURE_CLZ 1 #define __ARM_FEATURE_DSP 1 #define __ARM_FEATURE_LDREX 15 #define __ARM_FEATURE_QBIT 1 #define __ARM_FEATURE_SAT 1 #define __ARM_FEATURE_SIMD32 1 #define __ARM_FEATURE_UNALIGNED 1 #define __ARM_FP 12 #define __ARM_PCS_VFP 1 #define __ARM_SIZEOF_MINIMAL_ENUM 4 #define __ARM_SIZEOF_WCHAR_T 4 #define __ATOMIC_ACQUIRE 2 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_CONSUME 1 #define __ATOMIC_RELAXED 0 #define __ATOMIC_RELEASE 3 #define __ATOMIC_SEQ_CST 5 #define __BIGGEST_ALIGNMENT__ 8 #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ #define __CHAR16_TYPE__ short unsigned int #define __CHAR32_TYPE__ unsigned int #define __CHAR_BIT__ 8 #define __CHAR_UNSIGNED__ 1 #define __DA_FBIT__ 31 #define __DA_IBIT__ 32 #define __DBL_DECIMAL_DIG__ 17 #define __DBL_DENORM_MIN__ ((double)4.9406564584124654e-324L) #define __DBL_DIG__ 15 #define __DBL_EPSILON__ ((double)2.2204460492503131e-16L) #define __DBL_HAS_DENORM__ 1 #define __DBL_HAS_INFINITY__ 1 #define __DBL_HAS_QUIET_NAN__ 1 #define __DBL_MANT_DIG__ 53 #define __DBL_MAX_10_EXP__ 308 #define __DBL_MAX_EXP__ 1024 #define __DBL_MAX__ ((double)1.7976931348623157e+308L) #define __DBL_MIN_10_EXP__ (-307) #define __DBL_MIN_EXP__ (-1021) #define __DBL_MIN__ ((double)2.2250738585072014e-308L) #define __DEC128_EPSILON__ 1E-33DL #define __DEC128_MANT_DIG__ 34 #define __DEC128_MAX_EXP__ 6145 #define __DEC128_MAX__ 9.9E6144DL #define __DEC128_MIN_EXP__ (-6142) #define __DEC128_MIN__ 1E-6143DL #define __DEC128_SUBNORMAL_MIN__ 0.1E-6143DL #define __DEC32_EPSILON__ 1E-6DF #define __DEC32_MANT_DIG__ 7 #define __DEC32_MAX_EXP__ 97 #define __DEC32_MAX__ 9.99E96DF #define __DEC32_MIN_EXP__ (-94) #define __DEC32_MIN__ 1E-95DF #define __DEC32_SUBNORMAL_MIN__
Re: [gmp-bugs] Build feedback for gmp-6.1.0
On Thu, 25 Feb 2016, Nelson H. F. Beebe wrote: When gmp-6.1.0 is built with export PATH=/bin:/usr/bin ./configure && make all check I get a compile-time failure in assembly code: /usr/bin/gcc -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_lshift \ -I/usr/uumath/include -I/usr/uumath/include -Wa,--noexecstack tmp-lshift.s -fPIC \ -DPIC -o .libs/lshift.o Do you have CFLAGS set or something? I find your list of flags surprisingly short. ... CFLAGS likely doesn't apply there: it is the assembly-language file tmp-lshift.s that is being compiled. But it still does apply, in GMP. The Makefile has these settings: I was asking if CFLAGS is set in your environment, before trying to build GMP. AS = as ASMFLAGS= -Wa,--noexecstack CFLAGS = -I${prefix}/include -- Marc Glisse ___ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs
Re: [gmp-bugs] Build feedback for gmp-6.1.0
Marc Glisse responds on Thu, 25 Feb 2016 16:26:04 +0100 (CET) to my gmp-6.1.0 problem report for an ArchLinux system (up-to-date with current patches) on an ARM processor: >> ... >> > When gmp-6.1.0 is built with >> > >> >export PATH=/bin:/usr/bin >> >./configure && make all check >> > >> > I get a compile-time failure in assembly code: >> > >> >/usr/bin/gcc -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. >> > -DOPERATION_lshift \ >> > -I/usr/uumath/include -I/usr/uumath/include -Wa,--noexecstack >> > tmp-lshift.s -fPIC \ >> > -DPIC -o .libs/lshift.o >> >> Do you have CFLAGS set or something? I find your list of flags >> surprisingly short. >> ... CFLAGS likely doesn't apply there: it is the assembly-language file tmp-lshift.s that is being compiled. The Makefile has these settings: AS = as ASMFLAGS= -Wa,--noexecstack CFLAGS = -I${prefix}/include At the end of its run, configure reports configure: summary of build options: Version: GNU MP 6.1.0 Host type: armcortexa9neon-unknown-linux-gnueabihf ABI: standard Install prefix:/usr/uumath Compiler: gcc Static libraries: yes Shared libraries: yes I also have this kernel view of the CPU: % cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 10 (v7l) BogoMIPS: 7.54 Features: half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x2 CPU part: 0xc09 CPU revision: 10 If I add the -v option to the compiler line above, it produces: % /usr/bin/gcc -v -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_lshift \ ?-I/usr/uumath/include -I/usr/uumath/include -Wa,--noexecstack tmp-lshift.s -fPIC \ ?-DPIC -o .libs/lshift.o Using built-in specs. COLLECT_GCC=/usr/bin/gcc Target: armv7l-unknown-linux-gnueabihf Configured with: /build/gcc/src/gcc-5-20160209/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues --enable-languages=c,c++,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --disable-multilib --disable-werror --enable-checking=release --host=armv7l-unknown-linux-gnueabihf --build=armv7l-unknown-linux-gnueabihf --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 Thread model: posix gcc version 5.3.0 (GCC) COLLECT_GCC_OPTIONS='-v' '-c' '-D' 'HAVE_CONFIG_H' '-I' '.' '-I' '..' '-D' '__GMP_WITHIN_GMP' '-I' '..' '-D' 'OPERATION_lshift' '-I' '/usr/uumath/include' '-I' '/usr/uumath/include' '-fPIC' '-D' 'PIC' '-o' '.libs/lshift.o' '-march=armv7-a' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mtls-dialect=gnu' as -v -I . -I .. -I .. -I /usr/uumath/include -I /usr/uumath/include -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -meabi=5 --noexecstack -o .libs/lshift.o tmp-lshift.s GNU assembler version 2.26.0 (armv7l-unknown-linux-gnueabihf) using BFD version (GNU Binutils) 2.26.0.20160219 tmp-lshift.s: Assembler messages: tmp-lshift.s:106: Error: selected processor does not support `vdup.32 d6,r3' in ARM mode ... Torbjörn Granlund also responds on Thu, 25 Feb 2016 16:34:15 +0100: >> ... >> The /proc/cpuinfo suggest Cortex C9. It has Neon, and we do attempt to >> put the compiler/assembler into a mode where Neon insn are accepted. Yet... >> >> >tmp-lshift.s:108: Error: selected processor does not support `vdup.32 >> d7,r3' in ARM mode >> >tmp-lshift.s:114: Error: selected processor does not support >> `vshl.u64 d18,d19,d7' in ARM mode >> >tmp-lshift.s:120: Error: selected processor does not support >> `vshl.u64 d4,d19,d6' in ARM mode >> ... >> >> indicates that Neon insn are not accepted. >> ... Our equipment inventory description of the system is Wandboard Quad, Freescale i.MX6 Quad, Cortex-A9 Quad core, 2GB DDR3, 32GB MicroSD Here is a Web description: http://archlinuxarm.org/platforms/armv7/freescale/wandboard That site reports: >> ... >> The Wandboard is available in three different configurations: >> >> Wandboard Solo >> Single core i.MX6 Processor >> 512MB RAM >> Wandboard Dual >> Dual core i.MX6 Processor >> 1GB RAM >> 802.11n wireless and bluetoot
Re: [gmp-bugs] Build feedback for gmp-6.1.0
Marc Glisse writes: >/usr/bin/gcc -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_lshift \ > -I/usr/uumath/include -I/usr/uumath/include -Wa,--noexecstack tmp-lshift.s -fPIC \ > -DPIC -o .libs/lshift.o Do you have CFLAGS set or something? I find your list of flags surprisingly short. Indeed. >tmp-lshift.s: Assembler messages: >tmp-lshift.s:106: Error: selected processor does not support `vdup.32 d6,r3' in ARM mode What selected processor is that? Maybe adding -v to a gcc invocation would give information. The /proc/cpuinfo suggest Cortex C9. It has Neon, and we do attempt to put the compiler/assembler into a mode where Neon insn are accepted. Yet... >tmp-lshift.s:108: Error: selected processor does not support `vdup.32 d7,r3' in ARM mode >tmp-lshift.s:114: Error: selected processor does not support `vshl.u64 d18,d19,d7' in ARM mode >tmp-lshift.s:120: Error: selected processor does not support `vshl.u64 d4,d19,d6' in ARM mode ... indicates that Neon insn are not accepted. -- Torbjörn Please encrypt, key id 0xC8601622 ___ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs
Re: [gmp-bugs] Build feedback for gmp-6.1.0
On Wed, 24 Feb 2016, Nelson H. F. Beebe wrote: My test lab now features about 75 flavors of Unix on multiple CPU types. Today, I got successful builds and validations on 69 of them, and I'm now examining the failures. The first failing machine is our ArchLinux 4.2.3-1-ARCH system, for which "cat /proc/cpuinfo" reports processor : 0 model name : ARMv7 Processor rev 10 (v7l) BogoMIPS: 7.54 Features: half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x2 CPU part: 0xc09 CPU revision: 10 ... When gmp-6.1.0 is built with export PATH=/bin:/usr/bin ./configure && make all check I get a compile-time failure in assembly code: /usr/bin/gcc -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_lshift \ -I/usr/uumath/include -I/usr/uumath/include -Wa,--noexecstack tmp-lshift.s -fPIC \ -DPIC -o .libs/lshift.o Do you have CFLAGS set or something? I find your list of flags surprisingly short. tmp-lshift.s: Assembler messages: tmp-lshift.s:106: Error: selected processor does not support `vdup.32 d6,r3' in ARM mode What selected processor is that? Maybe adding -v to a gcc invocation would give information. tmp-lshift.s:108: Error: selected processor does not support `vdup.32 d7,r3' in ARM mode tmp-lshift.s:114: Error: selected processor does not support `vshl.u64 d18,d19,d7' in ARM mode tmp-lshift.s:120: Error: selected processor does not support `vshl.u64 d4,d19,d6' in ARM mode tmp-lshift.s:134: Error: selected processor does not support `vshl.u64 d5,d19,d6' in ARM mode tmp-lshift.s:136: Error: selected processor does not support `vshl.u64 d0,d17,d7' in ARM mode tmp-lshift.s:137: Error: selected processor does not support `vshl.u64 d4,d17,d6' in ARM mode tmp-lshift.s:142: Error: selected processor does not support `vshl.u64 d4,d19,d6' in ARM mode tmp-lshift.s:144: Error: selected processor does not support `vshl.u64 d1,d16,d7' in ARM mode tmp-lshift.s:145: Error: selected processor does not support `vshl.u64 d5,d16,d6' in ARM mode tmp-lshift.s:150: Error: selected processor does not support `vorr d2,d4,d1' in ARM mode tmp-lshift.s:151: Error: selected processor does not support `vshl.u64 d0,d17,d7' in ARM mode tmp-lshift.s:152: Error: selected processor does not support `vshl.u64 d4,d17,d6' in ARM mode tmp-lshift.s:155: Error: selected processor does not support `vorr d3,d5,d0' in ARM mode tmp-lshift.s:156: Error: selected processor does not support `vshl.u64 d1,d16,d7' in ARM mode tmp-lshift.s:157: Error: selected processor does not support `vshl.u64 d5,d16,d6' in ARM mode tmp-lshift.s:165: Error: selected processor does not support `vorr d2,d4,d1' in ARM mode tmp-lshift.s:169: Error: selected processor does not support `vorr d2,d4,d1' in ARM mode tmp-lshift.s:170: Error: selected processor does not support `vshl.u64 d0,d17,d7' in ARM mode tmp-lshift.s:171: Error: selected processor does not support `vshl.u64 d16,d17,d6' in ARM mode tmp-lshift.s:173: Error: selected processor does not support `vorr d2,d5,d0' in ARM mode tmp-lshift.s:181: Error: selected processor does not support `vshl.u64 d5,d19,d6' in ARM mode tmp-lshift.s:183: Error: selected processor does not support `veor d16,d16,d16' in ARM mode tmp-lshift.s:186: Error: selected processor does not support `vshl.u64 d0,d17,d7' in ARM mode tmp-lshift.s:187: Error: selected processor does not support `vshl.u64 d4,d17,d6' in ARM mode tmp-lshift.s:188: Error: selected processor does not support `vorr d3,d5,d0' in ARM mode tmp-lshift.s:189: Error: selected processor does not support `vshl.u64 d1,d16,d7' in ARM mode tmp-lshift.s:190: Error: selected processor does not support `vshl.u64 d5,d16,d6' in ARM mode tmp-lshift.s:192: Error: selected processor does not support `vorr d2,d4,d1' in ARM mode tmp-lshift.s:200: Error: selected processor does not support `vshl.u64 d4,d19,d6' in ARM mode tmp-lshift.s:201: Error: selected processor does not support `vshl.u64 d1,d16,d7' in ARM mode tmp-lshift.s:202: Error: selected processor does not support `vshl.u64 d16,d16,d6' in ARM mode tmp-lshift.s:203: Error: selected processor does not support `vorr d2,d4,d1' in ARM mode Makefile:768: recipe for target 'lshift.lo' failed If instead I add the --disable-assembly option, compilation succeeds, but there are then six test failures: FAIL: t-bswap FAIL: t-constants FAIL: t-count_zeros FAIL: t-modlinv FAIL: t-popc FAIL: t-sub The same thing happens if I instead build with CC pointing to /usr/bin/clang, for which we have % /usr/bin/clang --version clang version 3.7.1 (tags/RELEASE_371/final) Target: armv7l-unknown-linux-gnueabihf Thread model: posix Examination of the tests/*.log files show that they all fail from the same err
[gmp-bugs] Build feedback for gmp-6.1.0
My test lab now features about 75 flavors of Unix on multiple CPU types. Today, I got successful builds and validations on 69 of them, and I'm now examining the failures. The first failing machine is our ArchLinux 4.2.3-1-ARCH system, for which "cat /proc/cpuinfo" reports processor : 0 model name : ARMv7 Processor rev 10 (v7l) BogoMIPS: 7.54 Features: half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x2 CPU part: 0xc09 CPU revision: 10 ... When gmp-6.1.0 is built with export PATH=/bin:/usr/bin ./configure && make all check I get a compile-time failure in assembly code: /usr/bin/gcc -c -DHAVE_CONFIG_H -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_lshift \ -I/usr/uumath/include -I/usr/uumath/include -Wa,--noexecstack tmp-lshift.s -fPIC \ -DPIC -o .libs/lshift.o tmp-lshift.s: Assembler messages: tmp-lshift.s:106: Error: selected processor does not support `vdup.32 d6,r3' in ARM mode tmp-lshift.s:108: Error: selected processor does not support `vdup.32 d7,r3' in ARM mode tmp-lshift.s:114: Error: selected processor does not support `vshl.u64 d18,d19,d7' in ARM mode tmp-lshift.s:120: Error: selected processor does not support `vshl.u64 d4,d19,d6' in ARM mode tmp-lshift.s:134: Error: selected processor does not support `vshl.u64 d5,d19,d6' in ARM mode tmp-lshift.s:136: Error: selected processor does not support `vshl.u64 d0,d17,d7' in ARM mode tmp-lshift.s:137: Error: selected processor does not support `vshl.u64 d4,d17,d6' in ARM mode tmp-lshift.s:142: Error: selected processor does not support `vshl.u64 d4,d19,d6' in ARM mode tmp-lshift.s:144: Error: selected processor does not support `vshl.u64 d1,d16,d7' in ARM mode tmp-lshift.s:145: Error: selected processor does not support `vshl.u64 d5,d16,d6' in ARM mode tmp-lshift.s:150: Error: selected processor does not support `vorr d2,d4,d1' in ARM mode tmp-lshift.s:151: Error: selected processor does not support `vshl.u64 d0,d17,d7' in ARM mode tmp-lshift.s:152: Error: selected processor does not support `vshl.u64 d4,d17,d6' in ARM mode tmp-lshift.s:155: Error: selected processor does not support `vorr d3,d5,d0' in ARM mode tmp-lshift.s:156: Error: selected processor does not support `vshl.u64 d1,d16,d7' in ARM mode tmp-lshift.s:157: Error: selected processor does not support `vshl.u64 d5,d16,d6' in ARM mode tmp-lshift.s:165: Error: selected processor does not support `vorr d2,d4,d1' in ARM mode tmp-lshift.s:169: Error: selected processor does not support `vorr d2,d4,d1' in ARM mode tmp-lshift.s:170: Error: selected processor does not support `vshl.u64 d0,d17,d7' in ARM mode tmp-lshift.s:171: Error: selected processor does not support `vshl.u64 d16,d17,d6' in ARM mode tmp-lshift.s:173: Error: selected processor does not support `vorr d2,d5,d0' in ARM mode tmp-lshift.s:181: Error: selected processor does not support `vshl.u64 d5,d19,d6' in ARM mode tmp-lshift.s:183: Error: selected processor does not support `veor d16,d16,d16' in ARM mode tmp-lshift.s:186: Error: selected processor does not support `vshl.u64 d0,d17,d7' in ARM mode tmp-lshift.s:187: Error: selected processor does not support `vshl.u64 d4,d17,d6' in ARM mode tmp-lshift.s:188: Error: selected processor does not support `vorr d3,d5,d0' in ARM mode tmp-lshift.s:189: Error: selected processor does not support `vshl.u64 d1,d16,d7' in ARM mode tmp-lshift.s:190: Error: selected processor does not support `vshl.u64 d5,d16,d6' in ARM mode tmp-lshift.s:192: Error: selected processor does not support `vorr d2,d4,d1' in ARM mode tmp-lshift.s:200: Error: selected processor does not support `vshl.u64 d4,d19,d6' in ARM mode tmp-lshift.s:201: Error: selected processor does not support `vshl.u64 d1,d16,d7' in ARM mode tmp-lshift.s:202: Error: selected processor does not support `vshl.u64 d16,d16,d6' in ARM mode tmp-lshift.s:203: Error: selected processor does not support `vorr d2,d4,d1' in ARM mode Makefile:768: recipe for target 'lshift.lo' failed If instead I add the --disable-assembly option, compilation succeeds, but there are then six test failures: FAIL: t-bswap FAIL: t-constants FAIL: t-count_zeros FAIL: t-modlinv FAIL: t-popc FAIL: t-sub The same thing happens if I instead build with CC pointing to /usr/bin/clang, for which we have % /usr/bin/clang --version clang version 3.7.1 (tags/RELEASE_371/final) Target: armv7l-unknown-linux-gnueabihf Thread model: posix Examination of the tests/*.log files show that they all fail from the same error: % cat tests/t-bswap.log /local/build/bare/gmp-6.1.0/tests/.libs/lt-t-bswap: symbol lookup error: \ /local/build/bare/gmp-6.1.0/tests/.libs/lt-t-bswap: undefin