# git rev-parse -q --verify 8881af30b4211dbbe141d6e0ee2251d45c538dc7^{commit} # git fetch -q -n -f https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git for-next/kspp # git rev-parse -q --verify 8881af30b4211dbbe141d6e0ee2251d45c538dc7^{commit} 8881af30b4211dbbe141d6e0ee2251d45c538dc7 # git checkout -q -f -B kisskb 8881af30b4211dbbe141d6e0ee2251d45c538dc7 # git clean -qxdf # < git log -1 # commit 8881af30b4211dbbe141d6e0ee2251d45c538dc7 # Author: Gustavo A. R. Silva # Date: Mon Sep 13 16:45:28 2021 -0500 # # Makefile: Enable -Wimplicit-fallthrough for Clang # # With the recent fixes for fallthrough warnings, it is now possible to # enable -Wimplicit-fallthrough for Clang. # # Special thanks to Nathan Chancellor who fixed the Clang bug[1][2] # that put the application of this patch to a halt, temporarily. This # bugfix only appears in Clang 14.0.0, so older versions still contain # the bug and -Wimplicit-fallthrough won't be enabled for them, for # now. # # This concludes a long journey and now we are finally getting rid # of the unintentional fallthrough bug-class in the kernel, entirely. :) # # [1] https://github.com/llvm/llvm-project/commit/9ed4a94d6451046a51ef393cd62f00710820a7e8 # [2] https://bugs.llvm.org/show_bug.cgi?id=51094 # # Link: https://github.com/KSPP/linux/issues/115 # Link: https://github.com/ClangBuiltLinux/linux/issues/236 # [The conditional "ifneq" was idea of Nathan] # Suggested-by: Nathan Chancellor # Reviewed-by: Nathan Chancellor # Tested-by: Nathan Chancellor # Co-developed-by: Kees Cook # Signed-off-by: Kees Cook # Signed-off-by: Gustavo A. R. Silva # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 8881af30b4211dbbe141d6e0ee2251d45c538dc7 # < make -s -j 24 ARCH=x86 O=/kisskb/build/gustavoars_x86-allmodconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.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 # < make -s -j 24 ARCH=x86 O=/kisskb/build/gustavoars_x86-allmodconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 24 ARCH=x86 O=/kisskb/build/gustavoars_x86-allmodconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig # make -s -j 24 ARCH=x86 O=/kisskb/build/gustavoars_x86-allmodconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- Completed OK # rm -rf /kisskb/build/gustavoars_x86-allmodconfig_x86_64-gcc11 # Build took: 0:41:39.823486