This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Newlib 2.3.0.20160226 : Error: selected processor does not support `vrintr.f64 d0,d0' in ARM mode


Hi Arjan,

On 23/03/16 19:59, Arjan van Vught wrote:
Using binutils-2.26, gcc-4.9.3 on a Linux host, I am getting the error as shown below.

I have the following multi-lib configuration :

   pi@xubuntu:/opt/gnuarm-hardfp$ arm-none-eabi-gcc -print-multi-lib
   .;
armv8-a/cortex-a53/hardfp/neon-vfpv4;@march=armv8-a@mtune=cortex-a53@mfloat-abi=hard@mfpu=neon-vfpv4
armv7-a/cortex-a7/hardfp/vfpv4;@march=armv7-a@mtune=cortex-a7@mfloat-abi=hard@mfpu=vfpv4
armv7-a/cortex-a7/hardfp/neon-vfpv4;@march=armv7-a@mtune=cortex-a7@mfloat-abi=hard@mfpu=neon-vfpv4
armv6zk/arm1176jzf-s/hardfp/vfp;@march=armv6zk@mtune=arm1176jzf-s@mfloat-abi=hard@mfpu=vfp

The libgcc  libraries are built fine :

   pi@xubuntu:/opt/gnuarm-hardfp$ find $PREFIX -name libgcc.a | sort
/opt/gnuarm-hardfp/lib/gcc/arm-none-eabi/4.9.3/armv6zk/arm1176jzf-s/hardfp/vfp/libgcc.a
/opt/gnuarm-hardfp/lib/gcc/arm-none-eabi/4.9.3/armv7-a/cortex-a7/hardfp/neon-vfpv4/libgcc.a
/opt/gnuarm-hardfp/lib/gcc/arm-none-eabi/4.9.3/armv7-a/cortex-a7/hardfp/vfpv4/libgcc.a
/opt/gnuarm-hardfp/lib/gcc/arm-none-eabi/4.9.3/armv8-a/cortex-a53/hardfp/neon-vfpv4/libgcc.a
   /opt/gnuarm-hardfp/lib/gcc/arm-none-eabi/4.9.3/libgcc.a

Any thoughts on why the newlib build is giving this error?

Many thanks, Arjan


arm-none-eabi-gcc -B/opt/gnuarm-hardfp/build-newlib/arm-none-eabi/armv8-a/cortex-a53/hardfp/neon-vfpv4/newlib/ -isystem /opt/gnuarm-hardfp/build-newlib/arm-none-eabi/armv8-a/cortex-a53/hardfp/neon-vfpv4/newlib/targ-include -isystem /opt/gnuarm-hardfp/newlib-2.3.0.20160226/newlib/libc/include -B/opt/gnuarm-hardfp/build-newlib/arm-none-eabi/armv8-a/cortex-a53/hardfp/neon-vfpv4/libgloss/arm -L/opt/gnuarm-hardfp/build-newlib/arm-none-eabi/armv8-a/cortex-a53/hardfp/neon-vfpv4/libgloss/libnosys -L/opt/gnuarm-hardfp/newlib-2.3.0.20160226/libgloss/arm -march=armv8-a -mtune=cortex-a53 -mfloat-abi=hard -mfpu=neon-vfpv4 -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"2.3.0\" -DPACKAGE_STRING=\"newlib\ 2.3.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -I. -I../../../../../../../../../../newlib-2.3.0.20160226/newlib/libm/machine/arm -I ../../../../../../../../../../newlib-2.3.0.20160226/newlib/libm/machine/arm/../../../../newlib/libm/common -D__NO_SYSCALLS__ -fno-builtin -g -O2 -march=armv8-a -mtune=cortex-a53 -mfloat-abi=hard -mfpu=neon-vfpv4 -c -o lib_a-s_rint.o `test -f 's_rint.c' || echo '../../../../../../../../../../newlib-2.3.0.20160226/newlib/libm/machine/arm/'`s_rint.c
/tmp/ccNt55ho.s: Assembler messages:
/tmp/ccNt55ho.s:32: Error: selected processor does not support `vrintp.f64 d0,d0' in ARM mode
/tmp/ccAcnERn.s: Assembler messages:
/tmp/ccAcnERn.s:32: Error: selected processor does not support `vrintr.f64 d0,d0' in ARM mode
Makefile:292: recipe for target 'lib_a-s_ceil.o' failed
make[9]: *** [lib_a-s_ceil.o] Error 1
make[9]: *** Waiting for unfinished jobs....
Makefile:304: recipe for target 'lib_a-s_nearbyint.o' failed
make[9]: *** [lib_a-s_nearbyint.o] Error 1
/tmp/ccmTZYbo.s: Assembler messages:
/tmp/ccmTZYbo.s:32: Error: selected processor does not support `vrintm.f64 d0,d0' in ARM mode
Makefile:298: recipe for target 'lib_a-s_floor.o' failed
make[9]: *** [lib_a-s_floor.o] Error 1
/tmp/ccp9zz6q.s: Assembler messages:
/tmp/ccp9zz6q.s:32: Error: selected processor does not support `vrintx.f64 d0,d0' in ARM mode
Makefile:310: recipe for target 'lib_a-s_rint.o' failed
make[9]: *** [lib_a-s_rint.o] Error 1


These vrint[p,r,m,x] instructions are ARMv8-A instructions and have to be enabled by an appropriate -mfpu option.
For example -mfpu=fp-armv8 or neon-fp-armv8 or crypto-neon-fp-armv8.
So I suppose you want to change your multilb configuration to use one of those options rather than -mfpu=neon-vfpv4 which
is more appropriate for armv7ve targets like cortex-a15, cortex-a7 etc.

HTH,
Kyrill


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]