In a project that I'm working on (software can be found here), I'm trying to use the FPU on the TM4C123 (the Launchpad LM4F120 part, rebranded). I'm able to compile successfully using -mfloat-abi=soft, but whenever I try -mfloat-abi=hard, I get a whole bunch of uses VFP register argument errors. The full error printout is listed below:
/usr/bin/arm-none-eabi-ld: error: bin/main.out uses VFP register arguments, ../../TivaWare/driverlib/gcc/libdriver.a(fpu.o) does not
/usr/bin/arm-none-eabi-ld: failed to merge target specific data of file ../../TivaWare/driverlib/gcc/libdriver.a(fpu.o)
/usr/bin/arm-none-eabi-ld: error: bin/main.out uses VFP register arguments, ../../TivaWare/driverlib/gcc/libdriver.a(gpio.o) does not
/usr/bin/arm-none-eabi-ld: failed to merge target specific data of file ../../TivaWare/driverlib/gcc/libdriver.a(gpio.o)
/usr/bin/arm-none-eabi-ld: error: bin/main.out uses VFP register arguments, ../../TivaWare/driverlib/gcc/libdriver.a(interrupt.o) does not
/usr/bin/arm-none-eabi-ld: failed to merge target specific data of file ../../TivaWare/driverlib/gcc/libdriver.a(interrupt.o)
/usr/bin/arm-none-eabi-ld: error: bin/main.out uses VFP register arguments, ../../TivaWare/driverlib/gcc/libdriver.a(ssi.o) does not
/usr/bin/arm-none-eabi-ld: failed to merge target specific data of file ../../TivaWare/driverlib/gcc/libdriver.a(ssi.o)
/usr/bin/arm-none-eabi-ld: error: bin/main.out uses VFP register arguments, ../../TivaWare/driverlib/gcc/libdriver.a(sysctl.o) does not
/usr/bin/arm-none-eabi-ld: failed to merge target specific data of file ../../TivaWare/driverlib/gcc/libdriver.a(sysctl.o)
/usr/bin/arm-none-eabi-ld: error: bin/main.out uses VFP register arguments, ../../TivaWare/driverlib/gcc/libdriver.a(systick.o) does not
/usr/bin/arm-none-eabi-ld: failed to merge target specific data of file ../../TivaWare/driverlib/gcc/libdriver.a(systick.o)
/usr/bin/arm-none-eabi-ld: error: bin/main.out uses VFP register arguments, ../../TivaWare/driverlib/gcc/libdriver.a(timer.o) does not
/usr/bin/arm-none-eabi-ld: failed to merge target specific data of file ../../TivaWare/driverlib/gcc/libdriver.a(timer.o)
/usr/bin/arm-none-eabi-ld: error: bin/main.out uses VFP register arguments, ../../TivaWare/driverlib/gcc/libdriver.a(cpu.o) does not
/usr/bin/arm-none-eabi-ld: failed to merge target specific data of file ../../TivaWare/driverlib/gcc/libdriver.a(cpu.o)
It should be noted that I'm using arm-none-eabi-gcc in Arch Linux x64 to compile this project. I have been using the most recent TivaWare library and in my system, it is located two directories up from the project.