Marc Glisse <[email protected]> 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: [email protected] -
- 155 S 1400 E RM 233 [email protected] [email protected] -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------
_______________________________________________
gmp-bugs mailing list
[email protected]
https://gmplib.org/mailman/listinfo/gmp-bugs