# git rev-parse -q --verify 92387f33009308fd6d74a80a3573d7a0d2401905^{commit} # git fetch -q -n -f git://gitlab.ozlabs.ibm.com/mirror/linux-kbuild.git for-next warning: The last gc run reported the following. Please correct the root cause and remove .git/gc.log. Automatic cleanup will not be performed until the file is removed. warning: There are too many unreachable loose objects; run 'git prune' to remove them. # git rev-parse -q --verify 92387f33009308fd6d74a80a3573d7a0d2401905^{commit} 92387f33009308fd6d74a80a3573d7a0d2401905 # 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/gcc-4.6.3-nolibc/ia64-linux/bin/ia64-linux-gcc --version # < /opt/cross/kisskb/gcc-4.6.3-nolibc/ia64-linux/bin/ia64-linux-ld --version # < git log --format=%s --max-count=1 92387f33009308fd6d74a80a3573d7a0d2401905 # < make -s -j 48 ARCH=ia64 O=/kisskb/build/kbuild_ia64-defconfig_ia64 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/ia64-linux/bin/ia64-linux- defconfig # make -s -j 48 ARCH=ia64 O=/kisskb/build/kbuild_ia64-defconfig_ia64 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/ia64-linux/bin/ia64-linux- :1511:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:194:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/fork.c:771:13: warning: 'task_struct_whitelist' defined but not used [-Wunused-function] /kisskb/src/mm/vmstat.c: In function 'sysctl_vm_numa_stat_handler': /kisskb/src/mm/vmstat.c:90:5: warning: 'oldval' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c: In function 'proc_reg_open': /kisskb/src/include/linux/list.h:65:12: warning: 'pdeo' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c:338:21: note: 'pdeo' was declared here /kisskb/src/mm/hugetlb.c: In function 'alloc_pool_huge_page': /kisskb/src/mm/hugetlb.c:1465:5: warning: 'page' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/nfsd/nfs4xdr.c: In function 'nfsd4_encode_components_esc': /kisskb/src/fs/nfsd/nfs4xdr.c:2065:9: warning: 'str' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/udf/unicode.c: In function 'udf_name_conv_char': /kisskb/src/fs/udf/unicode.c:132:8: warning: 'c' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/usb/core/devio.c: In function 'async_completed': /kisskb/src/drivers/usb/core/devio.c:613:23: warning: 'errno' may be used uninitialized in this function [-Wuninitialized] WARNING: "drm_client_close" [drivers/gpu/drm/drm] is a static EXPORT_SYMBOL No errors detected in 21601 functions. Kernel: vmlinux.gz is ready Completed OK # rm -rf /kisskb/build/kbuild_ia64-defconfig_ia64 # Build took: 0:02:10.313582