Hallo,
ich versuche für ARMv6 zu bauen, scheitere aber.
Es liegt wohl daran, dass ich eine gnueabihf-Toolchain benutze, aber
ARMv6 nicht Hardfloat kann.
Wenn ich nur gcc -march=armv6 ... setze, geht der Kompiliervorgang
schief.
1 | /opt/gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux/arm-linux-gnueabihf/libc/usr/include/bits/byteswap.h: In function ‘__bswap_32’:
|
2 | /opt/gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux/arm-linux-gnueabihf/libc/usr/include/bits/byteswap.h:45:1: sorry, unimplemented: Thumb-1 hard-float VFP ABI
|
Wenn ich zusätzlich -mfloat-abi=soft setze, meckert der Linker rum:
1 | /opt/gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: error: prog uses VFP register arguments, prog.o does not
|
2 | /opt/gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: failed to merge target specific data of file prog.o
|
Wie kann ich das beheben?
Oder ist das ein Bug in der Toolchain?