https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64569
Bug ID: 64569 Summary: [MIPS] Unable to build soft-float in conjunction with binutils 2.25 Product: gcc Version: 4.9.3 Status: UNCONFIRMED Severity: major Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: matthew.fortune at imgtec dot com binutils 2.25 for MIPS includes more aggressive checks on ABI usage and in particular warns when given code that claims to be soft-float via .gnu_attribute 4,3 but is assembled without -msoft-float. binutils 2.25 will also infer an ABI from the floating-point related command line options. No GCC compiler drivers prior to GCC 5.0 pass the -msoft-float option through to the assembler which means that the assembler is given an inconsistent view of the intended ABI. For compiled code the issue will show itself as a warning from the assembler: Warning: .gnu_attribute 4,3 requires `softfloat' For hand-crafted assembler modules assembled via the compiler driver then the ABI inferred by the assembler will be hard-float instead of soft-float owing to the missing -msoft-float option. A combination of these two problems will then lead to a link failure stating that incompatible ABIs are in use. A number of other relocation errors can also occur as a side effect. (This bug was also filed as a binutils issue but is actually a compiler driver issue: https://sourceware.org/bugzilla/show_bug.cgi?id=17219)