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

Reply via email to