[gmp-bugs] Build feedback for gmp-6.1.0

Marc Glisse marc.glisse at inria.fr
Thu Feb 25 15:26:04 UTC 2016


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


More information about the gmp-bugs mailing list