[gmp-bugs] Build feedback for gmp-6.1.0

Nelson H. F. Beebe beebe at math.utah.edu
Thu Feb 25 16:27:23 UTC 2016


Marc Glisse <marc.glisse at inria.fr> 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 bluetooth
>>     Wandboard Quad
>>         Quad core i.MX6 Processor
>>         2GB RAM
>>         802.11n wireless and bluetooth
>>         SATA
>> 
>> All versions of the Wandboard share the following features:
>> 
>>     3.5mm line out, line in, and microphone
>>     S/PDIF optical audio out
>>     HDMI
>>     DB9 serial port
>>     Gigabit ethernet
>>     USB and USB OTG ports
>>     2 micro-SD slots
>>     Camera interface and expansion headers 
>> ...

-------------------------------------------------------------------------------
- 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