[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