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
gmp-bugs@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-bugs

Reply via email to