Revamp binutils' handling of -msoft-float and -march
Revamp binutils' handling of -msoft-float and -march

binutils used to ignore -march when calculating the ELF header.  This
means would cause linking problems when trying to link together
libraries generated using the two different ways of specifying the
floating-point ABI.

With this patch, binutils respects -march when it's specified but allows
-msoft-float to override that setting.  It's an error to pass
-mhard-float to an ISA without F/D.

manuelafm/riscv-gnu-toolchain,manuelafm/riscv-gnu-toolchain,manuelafm/riscv-gnu-toolchain