arm-linux-gnueabihf-ld.bfd: error: /opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_udivdi3.o) uses VFP register arguments, u-boot does not
arm-linux-gnueabihf-ld.bfd: failed to merge target specific data of file /opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_udivdi3.o)
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zynq_zed_config
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
and that failed differently:
arm-linux-gnueabihf-ld.bfd: error: /opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_udivdi3.o) uses VFP register arguments, u-boot does not
arm-linux-gnueabihf-ld.bfd: failed to merge target specific data of file /opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_udivdi3.o)
The README.txt file that came with the toolchain said:
"In addition to the default configuration, a basic ARMv4T runtime is
included for use when building baremetal projects such as Linux and
u-boot for earlier architectures. To use it, pass the following flags
to GCC:
-marm -march=armv4t -mfloat-abi=soft"
So I tried this:
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- "CFLAGS=-marm -march=armv4t -mfloat-abi=soft" distclean
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- "CFLAGS=-marm -march=armv4t -mfloat-abi=soft" zynq_zed_config
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- "CFLAGS=-marm -march=armv4t -mfloat-abi=soft"
and that failed in autoconf.
Looking more carefully at the Makefile, I think maybe I should set OBJCFLAGS instead of CFLAGS. That gave me the same error as my first attempt. Not surprising, since OBJCFLAGS doesn't seem to be used.
Any tips where I should start looking for clues?
Thanks.
--wpd