On Sun, 14 Nov 2021 at 11:11, Marc Zyngier <maz(a)kernel.org> wrote:
On 2021-11-14 08:25, kernel test robot wrote:
> tree:
>
https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git
> hack/m1-pmu
> head: a905c66ae0b391425e9ad7f261ad7b4c33af2c07
> commit: a905c66ae0b391425e9ad7f261ad7b4c33af2c07 [8/8] drivers/perf:
> Add Apple icestorm/firestorm CPU PMU driver
> config: arm64-randconfig-r036-20211114 (attached as .config)
> compiler: clang version 14.0.0 (
https://github.com/llvm/llvm-project
> c3dddeeafb529e769cde87bd29ef6271ac6bfa5c)
> reproduce (this is a W=1 build):
> wget
>
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
> -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # install arm64 cross compiling tool for clang build
> # apt-get install binutils-aarch64-linux-gnu
> #
>
https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/com...
> git remote add arm-platforms
>
https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git
> git fetch --no-tags arm-platforms hack/m1-pmu
> git checkout a905c66ae0b391425e9ad7f261ad7b4c33af2c07
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1
> ARCH=arm64
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp(a)intel.com>
>
> All warnings (new ones prefixed by >>):
>
>>> drivers/perf/apple_m1_cpu_pmu.c:100:32: warning: initializer
>>> overrides prior initialization of this subobject
>>> [-Winitializer-overrides]
> [M1_PMU_PERFCTR_UNKNOWN_01] = BIT(7),
> ^~~~~~
> include/vdso/bits.h:7:19: note: expanded from macro 'BIT'
> #define BIT(nr) (UL(1) << (nr))
> ^~~~~~~~~~~~~~~
> drivers/perf/apple_m1_cpu_pmu.c:99:32: note: previous initialization
> is here
> [0 ... M1_PMU_PERFCTR_LAST] = ANY_BUT_0_1,
> ^~~~~~~~~~~
Oh please, not that thing again. I've commented on this many times,
and this warning is just bogus. Initialisation override is a necessity,
and working around this warning leads to something that is far less
maintainable, and thus more *dangerous* than this.
I really wish this warning was simply turned off, because it only
leads to the robot emails to be ignored do to the number of false
positives.
Agreed, very annoying indeed. Should we just do
diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
index d53825503874..feeed72fe011 100644
--- a/scripts/Makefile.extrawarn
+++ b/scripts/Makefile.extrawarn
@@ -36,6 +36,7 @@ KBUILD_CFLAGS += $(call cc-option, -Wstringop-truncation)
KBUILD_CFLAGS += -Wno-missing-field-initializers
KBUILD_CFLAGS += -Wno-sign-compare
KBUILD_CFLAGS += -Wno-type-limits
+KBUILD_CFLAGS += $(call cc-option, -Wno-initializer-overrides)
KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN1
@@ -45,7 +46,6 @@ else
# Suppress them by using -Wno... except for W=1.
ifdef CONFIG_CC_IS_CLANG
-KBUILD_CFLAGS += -Wno-initializer-overrides
KBUILD_CFLAGS += -Wno-format
KBUILD_CFLAGS += -Wno-sign-compare
KBUILD_CFLAGS += -Wno-format-zero-length