Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

powerpc/vdso: Remove an unsupported flag from vgettimeofday-32.o with clang

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 warning happens because vgettimeofday-32.c gets its base CFLAGS
from the main kernel, which may contain flags that are only supported on
a 64-bit target but not a 32-bit one, which is the case here.
-fstack-clash-protection and its negation are only suppported by the
64-bit powerpc target but that flag is included in an invocation for a
32-bit powerpc target, so clang points out that while the flag is one
that it recognizes, it is not actually used by this compiler job.

To eliminate the warning, remove -fno-stack-clash-protection from
vgettimeofday-32.c's CFLAGS when using clang, as has been done for other
flags previously.

Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Tested-by: Anders Roxell <anders.roxell@linaro.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>

authored by

Nathan Chancellor and committed by
Masahiro Yamada
05e05bfc f0a42fba

+5
+5
arch/powerpc/kernel/vdso/Makefile
··· 16 16 CFLAGS_vgettimeofday-32.o += -ffreestanding -fasynchronous-unwind-tables 17 17 CFLAGS_REMOVE_vgettimeofday-32.o = $(CC_FLAGS_FTRACE) 18 18 CFLAGS_REMOVE_vgettimeofday-32.o += -mcmodel=medium -mabi=elfv1 -mabi=elfv2 -mcall-aixdesc 19 + # This flag is supported by clang for 64-bit but not 32-bit so it will cause 20 + # an unused command line flag warning for this file. 21 + ifdef CONFIG_CC_IS_CLANG 22 + CFLAGS_REMOVE_vgettimeofday-32.o += -fno-stack-clash-protection 23 + endif 19 24 CFLAGS_vgettimeofday-64.o += -include $(c-gettimeofday-y) 20 25 CFLAGS_vgettimeofday-64.o += $(DISABLE_LATENT_ENTROPY_PLUGIN) 21 26 CFLAGS_vgettimeofday-64.o += $(call cc-option, -fno-stack-protector)