• James Hogan's avatar
    MIPS: traps: Fix inline asm ctc1 missing .set hardfloat · d76e9b9f
    James Hogan authored
    Commit 842dfc11 ("MIPS: Fix build with binutils 2.24.51+") in v3.18
    enabled -msoft-float and sprinkled ".set hardfloat" where necessary to
    use FP instructions. However it missed enable_restore_fp_context() which
    since v3.17 does a ctc1 with inline assembly, causing the following
    assembler errors on Mentor's 2014.05 toolchain:
    
    {standard input}: Assembler messages:
    {standard input}:2913: Error: opcode not supported on this processor: mips32r2 (mips32r2) `ctc1 $2,$31'
    scripts/Makefile.build:257: recipe for target 'arch/mips/kernel/traps.o' failed
    
    Fix that to use the new write_32bit_cp1_register() macro so that ".set
    hardfloat" is automatically added when -msoft-float is in use.
    
    Fixes 842dfc11 ("MIPS: Fix build with binutils 2.24.51+")
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Paul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: <stable@vger.kernel.org> # 3.18+, depends on "MIPS: mipsregs.h: Add write_32bit_cp1_register()"
    Patchwork: https://patchwork.linux-mips.org/patch/9173/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    d76e9b9f
traps.c 55 KB