# git rev-parse -q --verify 92387f33009308fd6d74a80a3573d7a0d2401905^{commit} 92387f33009308fd6d74a80a3573d7a0d2401905 already have revision, skipping fetch # git checkout -q -f -B kisskb 92387f33009308fd6d74a80a3573d7a0d2401905 # git clean -qxdf # < git log -1 # commit 92387f33009308fd6d74a80a3573d7a0d2401905 # Author: Nathan Chancellor # Date: Mon Aug 26 17:41:55 2019 -0700 # # kbuild: Do not enable -Wimplicit-fallthrough for clang for now # # This functionally reverts commit bfd77145f35c ("Makefile: Convert # -Wimplicit-fallthrough=3 to just -Wimplicit-fallthrough for clang"). # # clang enabled support for -Wimplicit-fallthrough in C in r369414 [1], # which causes a lot of warnings when building the kernel for two reasons: # # 1. Clang does not support the /* fall through */ comments. There seems # to be a general consensus in the LLVM community that this is not # something they want to support. Joe Perches wrote a script to convert # all of the comments to a "fallthrough" keyword that will be added to # compiler_attributes.h [2] [3], which catches the vast majority of the # comments. There doesn't appear to be any consensus in the kernel # community when to do this conversion. # # 2. Clang and GCC disagree about falling through to final case statements # with no content or cases that simply break: # # https://godbolt.org/z/c8csDu # # This difference contributes at least 50 warnings in an allyesconfig # build for x86, not considering other architectures. This difference # will need to be discussed to see which compiler is right [4] [5]. # # [1]: https://github.com/llvm/llvm-project/commit/1e0affb6e564b7361b0aadb38805f26deff4ecfc # [2]: https://lore.kernel.org/lkml/61ddbb86d5e68a15e24ccb06d9b399bbf5ce2da7.camel@perches.com/ # [3]: https://lore.kernel.org/lkml/1d2830aadbe9d8151728a7df5b88528fc72a0095.1564549413.git.joe@perches.com/ # [4]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91432 # [5]: https://github.com/ClangBuiltLinux/linux/issues/636 # # Given these two problems need discussion and coordination, do not enable # -Wimplicit-fallthrough with clang right now. Add a comment to explain # what is going on as well. This commit should be reverted once these two # issues are fully flushed out and resolved. # # Suggested-by: Masahiro Yamada # Signed-off-by: Nathan Chancellor # Acked-by: Miguel Ojeda # Acked-by: Nick Desaulniers # Acked-by: Gustavo A. R. Silva # Signed-off-by: Masahiro Yamada # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 92387f33009308fd6d74a80a3573d7a0d2401905 # < make -s -j 48 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # yes \n | make -s -j 48 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- oldconfig yes: standard output: Broken pipe # make -s -j 48 ARCH=x86 O=/kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- WARNING: "ftrace_set_clr_event" [vmlinux] is a static EXPORT_SYMBOL_GPL WARNING: "torture_onoff_cleanup" [kernel/torture] is a static EXPORT_SYMBOL_GPL WARNING: "LZ4HC_setExternalDict" [lib/lz4/lz4hc_compress] is a static EXPORT_SYMBOL WARNING: "drm_client_close" [drivers/gpu/drm/drm] is a static EXPORT_SYMBOL WARNING: "ahci_em_messages" [drivers/ata/libahci] is a static EXPORT_SYMBOL_GPL WARNING: "ftrace_set_clr_event" [vmlinux] is a static EXPORT_SYMBOL_GPL WARNING: "torture_shuffle_cleanup" [kernel/torture] is a static EXPORT_SYMBOL_GPL WARNING: "rmi_2d_sensor_set_input_params" [drivers/input/rmi4/rmi_core] is a static EXPORT_SYMBOL_GPL Completed OK # rm -rf /kisskb/build/kbuild_x86-allmodconfig_x86_64-gcc8 # Build took: 0:23:33.176077