On Tue, Feb 7, 2023 at 6:18 AM Guillaume Tucker <guillaume.tucker@xxxxxxxxxxxxx> wrote: > > +Thomas Bogendoerfer +linux-mips > > On 07/02/2023 14:40, Mark Brown wrote: > > On Tue, Feb 07, 2023 at 10:56:04AM +0100, Guillaume Tucker wrote: > >> On 07/02/2023 09:53, Ingo Molnar wrote: > > > >>>> 4 cc1: error: ‘-mloongson-mmi’ must be used with ‘-mhard-float’ > >>> > >>> ... but this exact same error was 'reported' a year ago on January 22: > >>> > >>>> 2 cc1: error: ‘-mloongson-mmi’ must be used with ‘-mhard-float’ > > > >>> So these regression reports are useless in this form and they clutter > >>> people's inboxes. Is any person reading them and acting on them to make > >>> sure these emails are sensible? FWIW, I read these reports daily. I only address the issues that look specific to clang though. > > > >> About the actual kernel build error, I guess it's a shame nobody > >> has fixed this yet. I'll take a look what the root cause might > >> be. If it's a KernelCI build configuration issue e.g. using > >> wrong compiler flags then we can fix that, otherwise it's > >> probably something to report more directly to some MIPS > >> maintainers. > > > > Honestly at this point I think we should just drop the affected MIPS > > configurations at this point, as Ingo says they've been failing for > > so long with nobody caring. > > Maybe the MIPS people just haven't seen this. I've added Thomas > and the linux-mips list to confirm. > > After some investigation, it turns out the error happens when > doing "make modules_install". Here's the issue: > > * modules_install is listed in "no-compiler-targets" in the > top-level Makefile > > * as a result, scripts/Makefile.compiler is not included > > * arch/mips/loongson64/Platform requires the "cc-option" function > to add -mnon-loongson-mmi > > * since "cc-option" is not defined when just doing "make > modules_install", the flag is not added and the error mentioned > above occurs + Masahiro > > GitHub issue: https://github.com/kernelci/kernelci-project/issues/176 > > Here's a hack to prove this point, need-compiler is defined in > the top-level Makefile so it shouldn't be used here but > this "fixes" the problem: > > > > diff --git a/arch/mips/Makefile b/arch/mips/Makefile > index 490dea07d4e0..024f62dbef76 100644 > --- a/arch/mips/Makefile > +++ b/arch/mips/Makefile > @@ -317,10 +317,12 @@ KBUILD_CFLAGS += -fno-asynchronous-unwind-tables > KBUILD_LDFLAGS += -m $(ld-emul) > > ifdef CONFIG_MIPS > +ifdef need-compiler > CHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -x c /dev/null | \ > grep -E -vw '__GNUC_(MINOR_|PATCHLEVEL_)?_' | \ > sed -e "s/^\#define /-D'/" -e "s/ /'='/" -e "s/$$/'/" -e 's/\$$/&&/g') > endif > +endif > > OBJCOPYFLAGS += --remove-section=.reginfo > > > > I guess another way would be to unconditionally add the options > to the cflags, in fact there are other places where this appears > to be done. I'm not sure which GCC or Clang versions support it > or not, so that may not work in practice. > > > > diff --git a/arch/mips/loongson64/Platform b/arch/mips/loongson64/Platform > index 473404cae1c4..b7b2db13f1a2 100644 > --- a/arch/mips/loongson64/Platform > +++ b/arch/mips/loongson64/Platform > @@ -12,7 +12,7 @@ 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) > +cflags-y += -mno-loongson-mmi Nack. Clang doesn't support this flag. See also commit 0e96ea5c3eb5 ("MIPS: Loongson64: Clean up use of cc-ifversion") > > # > # Loongson Machines' Support > > > > This was reproduced using GCC 10 with the latest > kernelci/gcc-10:mips-kselftest-kernelci Docker image running as > root. > > > Is this something someone familiar with MIPS would like to fix > properly? If not then please confirm that we should just drop > the loongson2k_defconfig builds from KernelCI. Is this kernel > config actually still maintained in mainline? > > Thanks, > Guillaume > > -- Thanks, ~Nick Desaulniers