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)

Reply via email to