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
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?
It is suspicious that you are getting the error at runtime and not at link
time. My assumption would be that you are linking with the new library,
but then running with some old library you have on your system.
Some more of the information asked at
https://gmplib.org/manual/Reporting-Bugs.html would be welcome.
--
Marc Glisse
_______________________________________________
gmp-bugs mailing list
[email protected]
https://gmplib.org/mailman/listinfo/gmp-bugs