rust-lang/cc-rs

`-mfloat-abi=hard` should be a default flag for the `armv7a-none-eabihf` target

Closed this issue · 0 comments

The arm*v7r-none-eabihf and thumb*-none-eabihf targets both add -mfloat-abi=hard to the default compiler flags, but armv7a-none-eabihf does not. This results in needing to specify it manually for C libraries when using this target.

In GCC 10, -march=arvm7-a by itself implied hardware floating-point support and the hardfloat ABI, but in 11 and later these need to be explicit for none OS targets. cc-rs already provides -mfpu=vfpv3-d16 to handle one part of this, but doesn't change the ABI. -linux- targets still have the behavior of -march=armv7-a implying the hf ABI, so only -none-eabihf needs to be changed.