9.3.2016, 16:49, Steve Summit kirjoitti:
I'm trying to build a 4.6.3 cross-compiler with target
arm-linux-gnueabihf . But when trying to compile
config/arm/lib1funcs.asm (specifically, the file ieee754-df.S
included by lib1funcs.asm), I'm getting three errors of the form
"selected processor does not support ARM mode `mvfeqd f0,#0.0'".
I can see that the problematic code is conditional on __VFP_FP__
and __SOFTFP__, and that those macros are bound up in the
handling of the -mfloat-abi flag. I'm not sure if the problem
is that the build is failing to invoke gcc with the -mfloat-abi
flag, or the cross-assembler I built is failing to support those
calling conventions, or what. (When I built binutils, I did
build them to the same target arm-linux-gnueabihf.) Anyone have
any tips? Thanks.
Hmmm....
[root@localhost bin]# ./arm-linux-gnueabihf-gcc-4.6 -v
Using built-in specs.
COLLECT_GCC=./arm-linux-gnueabihf-gcc-4.6
COLLECT_LTO_WRAPPER=/media/disk/opt/cross/bin/../lib/gcc/arm-linux-gnueabihf/4.6.4/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../configure --build=i686-linux-gnu
--host=i686-linux-gnu --target=arm-linux-gnueabihf --prefix=/opt/cross
--with-sysroot=/opt/host-arm-raspian-linux-gnueabihf
--libdir=/opt/cross/lib --libexecdir=/opt/cross/lib
--enable-languages=c,c++ --enable-shared --enable-threads=posix
--enable-linker-build-id --with-system-zlib --without-included-gettext
--enable-version-specific-runtime-libs
--with-gxx-include-dir=/opt/cross/include/c++/4.6.4 --enable-clocale=gnu
--enable-gnu-unique-object --enable-checking=release --enable-plugin
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --disable-nls
--disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp
--with-float=hard --program-prefix=arm-linux-gnueabihf-
--program-suffix=-4.6
Thread model: posix
gcc version 4.6.4 (by Kai Ruottu)
I think the "--with-arch=armv6 --with-fpu=vfp --with-float=hard" will
make it... My crosscompiler was made for
the ARM Raspian Linux target and the options were borrowed from the
native GCC for it.