Skip to content

Commit

Permalink
MIPS: Disable Loongson MMI instructions for kernel build
Browse files Browse the repository at this point in the history
GCC 9.x automatically enables support for Loongson MMI instructions when
using some -march= flags, and then errors out when -msoft-float is
specified with:

  cc1: error: ‘-mloongson-mmi’ must be used with ‘-mhard-float’

The kernel shouldn't be using these MMI instructions anyway, just as it
doesn't use floating point instructions. Explicitly disable them in
order to fix the build with GCC 9.x.

Signed-off-by: Paul Burton <[email protected]>
Fixes: 3702bba ("MIPS: Loongson: Add GCC 4.4 support for Loongson2E")
Fixes: 6f7a251 ("MIPS: Loongson: Add basic Loongson 2F support")
Fixes: 5188129 ("MIPS: Loongson-3: Improve -march option and move it to Platform")
Cc: Huacai Chen <[email protected]>
Cc: Jiaxun Yang <[email protected]>
Cc: [email protected] # v2.6.32+
Cc: [email protected]
  • Loading branch information
paulburton committed Oct 10, 2019
1 parent 38dffe1 commit 2f2b4fd
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 0 deletions.
4 changes: 4 additions & 0 deletions arch/mips/loongson64/Platform
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@ else
$(call cc-option,-march=mips64r2,-mips64r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64)
endif

# Some -march= flags enable MMI instructions, and GCC complains about that
# support being enabled alongside -msoft-float. Thus explicitly disable MMI.
cflags-y += $(call cc-option,-mno-loongson-mmi)

#
# Loongson Machines' Support
#
Expand Down
1 change: 1 addition & 0 deletions arch/mips/vdso/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ ccflags-vdso := \
$(filter -mmicromips,$(KBUILD_CFLAGS)) \
$(filter -march=%,$(KBUILD_CFLAGS)) \
$(filter -m%-float,$(KBUILD_CFLAGS)) \
$(filter -mno-loongson-%,$(KBUILD_CFLAGS)) \
-D__VDSO__

ifdef CONFIG_CC_IS_CLANG
Expand Down

0 comments on commit 2f2b4fd

Please sign in to comment.