Message ID | 20191016214845.344235056@linuxfoundation.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | None | expand |
Hi, On Wed, Oct 16, 2019 at 02:51:17PM -0700, Greg Kroah-Hartman wrote: > From: Paul Burton <paul.burton@mips.com> > > commit 2f2b4fd674cadd8c6b40eb629e140a14db4068fd upstream. > > 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. > I still see this problem when trying to compile fuloong2e_defconfig with gcc 9.x or later. Reason seems to be that the patch was applied to arch/mips/loongson64/Platform, but fuloong2e_defconfig uses arch/mips/loongson2ef/Platform. Am I missing something ? Thanks, Guenter
On Wed, Aug 26, 2020 at 02:06:28PM -0700, Guenter Roeck wrote: > Hi, > > On Wed, Oct 16, 2019 at 02:51:17PM -0700, Greg Kroah-Hartman wrote: > > From: Paul Burton <paul.burton@mips.com> > > > > commit 2f2b4fd674cadd8c6b40eb629e140a14db4068fd upstream. > > > > 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. > > > > I still see this problem when trying to compile fuloong2e_defconfig with > gcc 9.x or later. Reason seems to be that the patch was applied to > arch/mips/loongson64/Platform, but fuloong2e_defconfig uses > arch/mips/loongson2ef/Platform. > > Am I missing something ? I don't know, sorry, that would be something that Paul understands. Paul?
On Thu, Sep 3, 2020 at 11:28 AM Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote: > > On Wed, Aug 26, 2020 at 02:06:28PM -0700, Guenter Roeck wrote: > > Hi, > > > > On Wed, Oct 16, 2019 at 02:51:17PM -0700, Greg Kroah-Hartman wrote: > > > From: Paul Burton <paul.burton@mips.com> > > > > > > commit 2f2b4fd674cadd8c6b40eb629e140a14db4068fd upstream. > > > > > > 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. > > > > > > > I still see this problem when trying to compile fuloong2e_defconfig with > > gcc 9.x or later. Reason seems to be that the patch was applied to > > arch/mips/loongson64/Platform, but fuloong2e_defconfig uses > > arch/mips/loongson2ef/Platform. > > > > Am I missing something ? > > I don't know, sorry, that would be something that Paul understands. > > Paul? Cc'ing Thomas who now maintains this.
On Mon, Sep 07, 2020 at 05:35:26AM +0200, Philippe Mathieu-Daudé wrote: > On Thu, Sep 3, 2020 at 11:28 AM Greg Kroah-Hartman > <gregkh@linuxfoundation.org> wrote: > > > > On Wed, Aug 26, 2020 at 02:06:28PM -0700, Guenter Roeck wrote: > > > Hi, > > > > > > On Wed, Oct 16, 2019 at 02:51:17PM -0700, Greg Kroah-Hartman wrote: > > > > From: Paul Burton <paul.burton@mips.com> > > > > > > > > commit 2f2b4fd674cadd8c6b40eb629e140a14db4068fd upstream. > > > > > > > > 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. > > > > > > > > > > I still see this problem when trying to compile fuloong2e_defconfig with > > > gcc 9.x or later. Reason seems to be that the patch was applied to > > > arch/mips/loongson64/Platform, but fuloong2e_defconfig uses > > > arch/mips/loongson2ef/Platform. > > > > > > Am I missing something ? > > > > I don't know, sorry, that would be something that Paul understands. > > > > Paul? > > Cc'ing Thomas who now maintains this. I've queued a patch to fix this in mips-fixes. Thomas.
--- a/arch/mips/loongson64/Platform +++ b/arch/mips/loongson64/Platform @@ -43,6 +43,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 # --- a/arch/mips/vdso/Makefile +++ b/arch/mips/vdso/Makefile @@ -9,6 +9,7 @@ ccflags-vdso := \ $(filter -mmicromips,$(KBUILD_CFLAGS)) \ $(filter -march=%,$(KBUILD_CFLAGS)) \ $(filter -m%-float,$(KBUILD_CFLAGS)) \ + $(filter -mno-loongson-%,$(KBUILD_CFLAGS)) \ -D__VDSO__ ifeq ($(cc-name),clang)