[gmp-bugs] Build feedback for gmp-6.1.0
Nelson H. F. Beebe
beebe at math.utah.edu
Thu Feb 25 00:34:08 UTC 2016
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: undefined symbol: __gmpn_clz_tab
FAIL t-bswap (exit status: 127)
The symbol __gmpn_clz_tab does not appear in the source code, but is
generated from the macro expansion of
longlong.h:2158:extern const unsigned char __GMP_DECLSPEC __clz_tab[129];
Any ideas for a fix?
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: beebe at math.utah.edu -
- 155 S 1400 E RM 233 beebe at acm.org beebe at computer.org -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------
More information about the gmp-bugs
mailing list