Langest n00b
Joined: 19 Jan 2018 Posts: 48
|
Posted: Wed Mar 24, 2021 4:47 pm Post subject: Building with cross arm toolchain |
|
|
Hi,
I'm trying to compile using an arm toolchain for STM32F303. Specifically the one on the planck keyboard (https://github.com/qmk/qmk_firmware) but run into the following linking problem:
Code: | ...
Compiling: tmk_core/common/chibios/syscall-fallbacks.c [OK]
Linking: .build/planck_rev6_default.elf [ERRORS]
|
| /usr/libexec/gcc/arm-none-eabi/ld: error: .build/obj_planck_rev6_default/muse.o uses VFP register arguments, .build/planck_rev6_default.elf does not
| /usr/libexec/gcc/arm-none-eabi/ld: failed to merge target specific data of file .build/obj_planck_rev6_default/muse.o
...
|
On the wiki I find this: https://wiki.gentoo.org/wiki/ARM#Error_message:_...._uses_VFP_register_arguments_..._does_not
Quote: | Error message: .... uses VFP register arguments ... does not
This probably means that some of the libraries being linked, were compiled with hardfloat (-mfloat=hardfloat) while others with floatfp or float. This can also happen when the compiler was compiled in an opposite to the code manner. |
So I'm guessing I'm missing some multilibs on my machine. But I don't know which one I'm missing or how to figure out which one I need.
Code: | $ gcc-config -l
[1] arm-hardfloat-eabi-10.2.0 *
[2] arm-none-eabi-8.4.0
[3] arm-none-eabi-10.2.0 *
[4] avr-8.4.0
[5] avr-9.3.0 *
[6] avr-10.2.0
[7] x86_64-pc-linux-gnu-10.2.0 *
|
Code: | $ arm-none-eabi-gcc -print-multi-lib
.;
thumb;@mthumb
arm/autofp/v5te/fpu;@marm@mfpu=auto@march=armv5te+fp@mfloat-abi=hard
thumb/autofp/v7/fpu;@mthumb@mfpu=auto@march=armv7+fp@mfloat-abi=hard
|
Any pointers or advice would be welcome!
Thank you |
|