Hi Michael, Thanks for the workaround and sorry this has come to bite us :/ On Fri, Mar 03, 2023 at 12:16:56AM +1100, Michael Ellerman wrote: > For the -mtune option clang doesn't accept power10/9/8, instead it > accepts pwr10/9/8. That will be fixed in future versions of clang, but > the kernel must support the clang versions in the wild. > > So add support for the "pwr" spelling if clang is in use. > > Reported-by: Nathan Chancellor <nathan@xxxxxxxxxx> I think that should actually be Reported-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > BugLink: https://github.com/ClangBuiltLinux/linux/issues/1799 > Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx> > --- > arch/powerpc/platforms/Kconfig.cputype | 4 ++++ > 1 file changed, 4 insertions(+) > > Need to confirm the clang <= 16 statement is correct. Currently, this is indeed the case. It is possible that Nemanja's patch will get applied to release/16.x before 16.0.0 final but it might not. We can always update it later. I think we do want to push to get that patch applied because I forgot that it is only in 16.0.0 that '-mtune' starts to do something on PowerPC: https://github.com/llvm/llvm-project/commit/1dc26b80b872a94c581549a21943756a8c3448a3 Prior to that change, '-mtune' was accepted but did nothing. It is only once it was hooked up to the backend that we got the spew of warnings. I think that warrants us trying to get Nemanja's patch into 16.0.0, which may allow us to drop this workaround altogether... > diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype > index 7d7477b73951..e4e0e81be7de 100644 > --- a/arch/powerpc/platforms/Kconfig.cputype > +++ b/arch/powerpc/platforms/Kconfig.cputype > @@ -278,6 +278,10 @@ config TUNE_CPU > default "-mtune=power10" if POWERPC64_CPU && CC_IS_GCC && $(cc-option,-mtune=power10) > default "-mtune=power9" if POWERPC64_CPU && CC_IS_GCC && $(cc-option,-mtune=power9) > default "-mtune=power8" if POWERPC64_CPU && CC_IS_GCC && $(cc-option,-mtune=power8) > + # clang <= 16 only supports the "pwr" names > + default "-mtune=pwr10" if POWERPC64_CPU && CC_IS_CLANG && $(cc-option,-mtune=pwr10) > + default "-mtune=pwr9" if POWERPC64_CPU && CC_IS_CLANG && $(cc-option,-mtune=pwr9) > + default "-mtune=pwr8" if POWERPC64_CPU && CC_IS_CLANG && $(cc-option,-mtune=pwr8) > > config PPC_BOOK3S > def_bool y > -- > 2.39.2 >