On Wed, Jan 4, 2023 at 11:55 AM Nathan Chancellor <nathan@xxxxxxxxxx> wrote: > > When clang's -Qunused-arguments is dropped from KBUILD_CPPFLAGS, it > warns: > > clang-16: error: argument unused during compilation: '-fno-stack-clash-protection' [-Werror,-Wunused-command-line-argument] > > This flag is supported for 64-bit powerpc but not 32-bit, hence the warning. > Just remove the flag from vgettimeofday-32.o's CFLAGS when using clang, as has > been done for other flags previously. > > Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx> Hmm...so this was added by the top level Makefile doing a cc-option test. How did the test pass if this was unsupported? That worries me that perhaps other cc-option tests are passing erroneously for certain ppc -m32/-m64 configs? > --- > Cc: mpe@xxxxxxxxxxxxxx > Cc: npiggin@xxxxxxxxx > Cc: christophe.leroy@xxxxxxxxxx > Cc: linuxppc-dev@xxxxxxxxxxxxxxxx > --- > arch/powerpc/kernel/vdso/Makefile | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/powerpc/kernel/vdso/Makefile b/arch/powerpc/kernel/vdso/Makefile > index 769b62832b38..4ee7d36ce752 100644 > --- a/arch/powerpc/kernel/vdso/Makefile > +++ b/arch/powerpc/kernel/vdso/Makefile > @@ -16,6 +16,11 @@ ifneq ($(c-gettimeofday-y),) > CFLAGS_vgettimeofday-32.o += -ffreestanding -fasynchronous-unwind-tables > CFLAGS_REMOVE_vgettimeofday-32.o = $(CC_FLAGS_FTRACE) > CFLAGS_REMOVE_vgettimeofday-32.o += -mcmodel=medium -mabi=elfv1 -mabi=elfv2 -mcall-aixdesc > + # This flag is supported by clang for 64-bit but not 32-bit so it will cause > + # an unused command line flag warning for this file. > + ifdef CONFIG_CC_IS_CLANG > + CFLAGS_REMOVE_vgettimeofday-32.o += -fno-stack-clash-protection > + endif > CFLAGS_vgettimeofday-64.o += -include $(c-gettimeofday-y) > CFLAGS_vgettimeofday-64.o += $(DISABLE_LATENT_ENTROPY_PLUGIN) > CFLAGS_vgettimeofday-64.o += $(call cc-option, -fno-stack-protector) > > -- > 2.39.0 -- Thanks, ~Nick Desaulniers