# git rev-parse -q --verify 6a9dc5fd6170d0a41c8a14eb19e63d94bea5705a^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/linus master # git rev-parse -q --verify 6a9dc5fd6170d0a41c8a14eb19e63d94bea5705a^{commit} 6a9dc5fd6170d0a41c8a14eb19e63d94bea5705a # git checkout -q -f -B kisskb 6a9dc5fd6170d0a41c8a14eb19e63d94bea5705a # git clean -qxdf # < git log -1 # commit 6a9dc5fd6170d0a41c8a14eb19e63d94bea5705a # Author: Gustavo A. R. Silva # Date: Mon Aug 24 15:36:14 2020 -0500 # # lib: Revert use of fallthrough pseudo-keyword in lib/ # # The following build error for powerpc64 was reported by Nathan Chancellor: # # "$ scripts/config --file arch/powerpc/configs/powernv_defconfig -e KERNEL_XZ # # $ make -skj"$(nproc)" ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- distclean powernv_defconfig zImage # ... # In file included from arch/powerpc/boot/../../../lib/decompress_unxz.c:234, # from arch/powerpc/boot/decompress.c:38: # arch/powerpc/boot/../../../lib/xz/xz_dec_stream.c: In function 'dec_main': # arch/powerpc/boot/../../../lib/xz/xz_dec_stream.c:586:4: error: 'fallthrough' undeclared (first use in this function) # 586 | fallthrough; # | ^~~~~~~~~~~ # # This will end up affecting distribution configurations such as Debian # and OpenSUSE according to my testing. I am not sure what the solution # is, the PowerPC wrapper does not set -D__KERNEL__ so I am not sure # that compiler_attributes.h can be safely included." # # In order to avoid these sort of problems, it seems that the best # solution is to use /* fall through */ comments instead of the # fallthrough pseudo-keyword macro in lib/, for now. # # Reported-by: Nathan Chancellor # Fixes: df561f6688fe ("treewide: Use fallthrough pseudo-keyword") # Signed-off-by: Gustavo A. R. Silva # Reviewed-and-tested-by: Nathan Chancellor # Signed-off-by: Linus Torvalds # < /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 6a9dc5fd6170d0a41c8a14eb19e63d94bea5705a # < make -s -j 10 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- randconfig KCONFIG_SEED=0x23E21117 WARNING: unmet direct dependencies detected for DMA_ENGINE Depends on [n]: DMADEVICES [=n] Selected by [m]: - DRM_ZYNQMP_DPSUB [=m] && HAS_IOMEM [=y] && (ARCH_ZYNQMP || COMPILE_TEST [=y]) && COMMON_CLK [=y] && DRM [=m] && OF [=y] WARNING: unmet direct dependencies detected for DMA_ENGINE Depends on [n]: DMADEVICES [=n] Selected by [m]: - DRM_ZYNQMP_DPSUB [=m] && HAS_IOMEM [=y] && (ARCH_ZYNQMP || COMPILE_TEST [=y]) && COMMON_CLK [=y] && DRM [=m] && OF [=y] # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # Added to kconfig CONFIG_CC_STACKPROTECTOR_STRONG=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # < make -s -j 10 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 10 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig .config:5605:warning: override: reassigning to symbol STANDALONE .config:5606:warning: override: reassigning to symbol PREVENT_FIRMWARE_BUILD WARNING: unmet direct dependencies detected for DMA_ENGINE Depends on [n]: DMADEVICES [=n] Selected by [m]: - DRM_ZYNQMP_DPSUB [=m] && HAS_IOMEM [=y] && (ARCH_ZYNQMP || COMPILE_TEST [=y]) && COMMON_CLK [=y] && DRM [=m] && OF [=y] # make -s -j 10 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- WARNING: unmet direct dependencies detected for DMA_ENGINE Depends on [n]: DMADEVICES [=n] Selected by [m]: - DRM_ZYNQMP_DPSUB [=m] && HAS_IOMEM [=y] && (ARCH_ZYNQMP || COMPILE_TEST [=y]) && COMMON_CLK [=y] && DRM [=m] && OF [=y] WARNING: unmet direct dependencies detected for DMA_ENGINE Depends on [n]: DMADEVICES [=n] Selected by [m]: - DRM_ZYNQMP_DPSUB [=m] && HAS_IOMEM [=y] && (ARCH_ZYNQMP || COMPILE_TEST [=y]) && COMMON_CLK [=y] && DRM [=m] && OF [=y] WARNING: unmet direct dependencies detected for DMA_ENGINE Depends on [n]: DMADEVICES [=n] Selected by [m]: - DRM_ZYNQMP_DPSUB [=m] && HAS_IOMEM [=y] && (ARCH_ZYNQMP || COMPILE_TEST [=y]) && COMMON_CLK [=y] && DRM [=m] && OF [=y] drivers/tty/serial/samsung_tty.o: In function `s3c24xx_serial_shutdown': samsung_tty.c:(.text+0xa59): undefined reference to `dma_release_channel' samsung_tty.c:(.text+0xaad): undefined reference to `dma_release_channel' drivers/tty/serial/samsung_tty.o: In function `s3c64xx_serial_startup': samsung_tty.c:(.text+0x2304): undefined reference to `dma_request_chan' samsung_tty.c:(.text+0x2324): undefined reference to `dma_get_slave_caps' samsung_tty.c:(.text+0x236d): undefined reference to `dma_request_chan' samsung_tty.c:(.text+0x2390): undefined reference to `dma_get_slave_caps' samsung_tty.c:(.text+0x257e): undefined reference to `dma_release_channel' samsung_tty.c:(.text+0x2587): undefined reference to `dma_release_channel' samsung_tty.c:(.text+0x2684): undefined reference to `dma_release_channel' samsung_tty.c:(.text+0x26df): undefined reference to `dma_release_channel' samsung_tty.c:(.text+0x26e8): undefined reference to `dma_release_channel' drivers/tty/serial/fsl_lpuart.o:fsl_lpuart.c:(.text+0xded): more undefined references to `dma_release_channel' follow drivers/tty/serial/fsl_lpuart.o: In function `lpuart_request_dma': fsl_lpuart.c:(.text+0x1748): undefined reference to `dma_request_chan' fsl_lpuart.c:(.text+0x1785): undefined reference to `dma_request_chan' drivers/tty/serial/fsl_lpuart.o: In function `lpuart_remove': fsl_lpuart.c:(.text+0x261c): undefined reference to `dma_release_channel' fsl_lpuart.c:(.text+0x262d): undefined reference to `dma_release_channel' drivers/tty/serial/sprd_serial.o: In function `sprd_shutdown': sprd_serial.c:(.text+0x425): undefined reference to `dma_release_channel' sprd_serial.c:(.text+0x43a): undefined reference to `dma_release_channel' drivers/tty/serial/sprd_serial.o: In function `sprd_startup': sprd_serial.c:(.text+0xfd1): undefined reference to `dma_request_chan' sprd_serial.c:(.text+0xff7): undefined reference to `dma_request_chan' sprd_serial.c:(.text+0x10ca): undefined reference to `dma_release_channel' drivers/tty/serial/stm32-usart.o: In function `stm32_serial_remove': stm32-usart.c:(.text+0x55a): undefined reference to `dma_release_channel' stm32-usart.c:(.text+0x58b): undefined reference to `dma_release_channel' drivers/tty/serial/stm32-usart.o: In function `stm32_serial_probe': stm32-usart.c:(.text+0x1c07): undefined reference to `dma_request_slave_channel' stm32-usart.c:(.text+0x1d7e): undefined reference to `dma_request_slave_channel' stm32-usart.c:(.text+0x1e8b): undefined reference to `dma_release_channel' stm32-usart.c:(.text+0x1ec9): undefined reference to `dma_release_channel' drivers/tty/serial/stm32-usart.o: In function `stm32_serial_probe.cold.16': stm32-usart.c:(.text.unlikely+0xb8): undefined reference to `dma_release_channel' stm32-usart.c:(.text.unlikely+0x13c): undefined reference to `dma_release_channel' drivers/mfd/stm32-timers.o: In function `stm32_timers_remove': stm32-timers.c:(.text+0x68): undefined reference to `dma_release_channel' drivers/mfd/stm32-timers.o: In function `stm32_timers_probe': stm32-timers.c:(.text+0x1cb): undefined reference to `dma_request_chan' stm32-timers.c:(.text+0x1ef): undefined reference to `dma_request_chan' stm32-timers.c:(.text+0x20c): undefined reference to `dma_request_chan' stm32-timers.c:(.text+0x222): undefined reference to `dma_request_chan' stm32-timers.c:(.text+0x288): undefined reference to `dma_release_channel' stm32-timers.c:(.text+0x2a3): undefined reference to `dma_release_channel' drivers/i2c/busses/i2c-mxs.o: In function `mxs_i2c_remove': i2c-mxs.c:(.text+0x73): undefined reference to `dma_release_channel' drivers/i2c/busses/i2c-mxs.o: In function `mxs_i2c_probe': i2c-mxs.c:(.text+0x281): undefined reference to `dma_request_chan' drivers/i2c/busses/i2c-sh_mobile.o: In function `sh_mobile_i2c_request_dma_chan': i2c-sh_mobile.c:(.text+0x2b4): undefined reference to `dma_request_chan' i2c-sh_mobile.c:(.text+0x338): undefined reference to `dma_request_chan' drivers/i2c/busses/i2c-sh_mobile.o: In function `sh_mobile_i2c_probe': i2c-sh_mobile.c:(.text+0x704): undefined reference to `dma_release_channel' i2c-sh_mobile.c:(.text+0x72e): undefined reference to `dma_release_channel' drivers/i2c/busses/i2c-sh_mobile.o: In function `sh_mobile_i2c_remove': i2c-sh_mobile.c:(.text+0xd9e): undefined reference to `dma_release_channel' i2c-sh_mobile.c:(.text+0xdbe): undefined reference to `dma_release_channel' drivers/i2c/busses/i2c-sh_mobile.o: In function `sh_mobile_i2c_request_dma_chan.cold.10': i2c-sh_mobile.c:(.text.unlikely+0x3a3): undefined reference to `dma_release_channel' drivers/i2c/busses/i2c-rcar.o:i2c-rcar.c:(.text+0x6c8): more undefined references to `dma_release_channel' follow drivers/i2c/busses/i2c-rcar.o: In function `rcar_i2c_master_xfer': i2c-rcar.c:(.text+0x8e0): undefined reference to `dma_request_chan' i2c-rcar.c:(.text+0x956): undefined reference to `dma_request_chan' drivers/i2c/busses/i2c-rcar.o: In function `rcar_i2c_master_xfer.cold.13': i2c-rcar.c:(.text.unlikely+0x220): undefined reference to `dma_release_channel' drivers/iio/adc/at91-sama5d2_adc.o: In function `at91_adc_dma_disable': at91-sama5d2_adc.c:(.text+0x587): undefined reference to `dma_release_channel' drivers/iio/adc/at91-sama5d2_adc.o: In function `at91_adc_set_watermark': at91-sama5d2_adc.c:(.text+0x681): undefined reference to `dma_request_chan' drivers/iio/adc/at91-sama5d2_adc.o: In function `at91_adc_set_watermark.cold.24': at91-sama5d2_adc.c:(.text.unlikely+0x3a): undefined reference to `dma_release_channel' make[1]: *** [/kisskb/src/Makefile:1166: vmlinux] Error 1 make: *** [Makefile:185: __sub-make] Error 2 Command 'make -s -j 10 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 # Build took: 0:07:01.583614