# git rev-parse -q --verify 021533194476035883300d60fbb3136426ac8ea5^{commit} 021533194476035883300d60fbb3136426ac8ea5 already have revision, skipping fetch # git checkout -q -f -B kisskb 021533194476035883300d60fbb3136426ac8ea5 # git clean -qxdf # < git log -1 # commit 021533194476035883300d60fbb3136426ac8ea5 # Author: Linus Torvalds # Date: Thu Feb 1 14:57:17 2024 -0800 # # Kconfig: Disable -Wstringop-overflow for GCC globally # # It turns out it was never just gcc-11 that was broken. Apparently it # just happens to work on x86-64 with other gcc versions. # # On arm64, I see warnings with gcc version 13.2.1, and the kernel test # robot reports the same problem on s390 with gcc 13.2.0. # # Admittedly it seems to be just the new Xe drm driver, but this is # keeping me from doing my normal arm64 build testing. So it gets # reverted until somebody figures out what causes the problem (and why it # doesn't show on x86-64, which is what makes me suspect it was never just # about gcc-11, and more about just random happenstance). # # This also changes the Kconfig naming a bit - just make the "disable this # for GCC" conditional be one simple Kconfig entry, and we can put the gcc # version dependencies in that entry once we figure out what the correct # rules are. # # The version dependency _may_ still end up being "gcc version larger than # 11" if the issue is purely in the Xe driver, but even if that ends up # the case, let's make that all part of the "GCC_NO_STRINGOP_OVERFLOW" # logic. # # For now, we just disable it for all gcc versions while the exact cause # is unknown. # # Link: https://lore.kernel.org/all/202401161031.hjGJHMiJ-lkp@intel.com/T/ # Cc: Gustavo A. R. Silva # Cc: Kees Cook # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux-ld --version # < git log --format=%s --max-count=1 021533194476035883300d60fbb3136426ac8ea5 # make -s -j 160 ARCH=sh O=/kisskb/build/linus_allmodconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-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 160 ARCH=sh O=/kisskb/build/linus_allmodconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- help # make -s -j 160 ARCH=sh O=/kisskb/build/linus_allmodconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- olddefconfig # make -s -j 160 ARCH=sh O=/kisskb/build/linus_allmodconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- Generating include/generated/machtypes.h :1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S: Assembler messages: /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S:85: Warning: overflow in branch to __restore_all; converted into longer instruction sequence /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S:357: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/arch/sh/kernel/cpu/sh2/../../entry-common.S:360: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/arch/sh/math-emu/math.c:492:5: error: no previous prototype for 'do_fpu_inst' [-Werror=missing-prototypes] 492 | int do_fpu_inst(unsigned short inst, struct pt_regs *regs) | ^~~~~~~~~~~ /kisskb/src/arch/sh/kernel/cpu/init.c:99:29: error: no previous prototype for 'l2_cache_init' [-Werror=missing-prototypes] 99 | void __attribute__ ((weak)) l2_cache_init(void) | ^~~~~~~~~~~~~ cc1: all warnings being treated as errors make[6]: *** [/kisskb/src/scripts/Makefile.build:243: arch/sh/kernel/cpu/init.o] Error 1 make[6]: *** Waiting for unfinished jobs.... make[5]: *** [/kisskb/src/scripts/Makefile.build:481: arch/sh/kernel/cpu] Error 2 make[4]: *** [/kisskb/src/scripts/Makefile.build:481: arch/sh/kernel] Error 2 make[4]: *** Waiting for unfinished jobs.... /kisskb/src/arch/sh/mm/cache-sh2.c:85:13: error: no previous prototype for 'sh2_cache_init' [-Werror=missing-prototypes] 85 | void __init sh2_cache_init(void) | ^~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[5]: *** [/kisskb/src/scripts/Makefile.build:243: arch/sh/mm/cache-sh2.o] Error 1 make[4]: *** [/kisskb/src/scripts/Makefile.build:481: arch/sh/mm] Error 2 cc1: all warnings being treated as errors make[5]: *** [/kisskb/src/scripts/Makefile.build:243: arch/sh/math-emu/math.o] Error 1 make[4]: *** [/kisskb/src/scripts/Makefile.build:481: arch/sh/math-emu] Error 2 make[3]: *** [/kisskb/src/scripts/Makefile.build:481: arch/sh] Error 2 make[3]: *** Waiting for unfinished jobs.... {standard input}: Assembler messages: {standard input}:1094: Warning: end of file not at end of a line; newline inserted {standard input}:1095: Error: expected symbol name sh4-linux-gcc: internal compiler error: Segmentation fault signal terminated program cc1 Please submit a full bug report, with preprocessed source (by using -freport-bug). See for instructions. make[6]: *** [/kisskb/src/scripts/Makefile.build:243: drivers/net/pcs/pcs-xpcs.o] Error 4 make[6]: *** Waiting for unfinished jobs.... make[5]: *** [/kisskb/src/scripts/Makefile.build:481: drivers/net/pcs] Error 2 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:481: drivers/net] Error 2 make[4]: *** Waiting for unfinished jobs.... {standard input}: Assembler messages: {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive {standard input}:582: Error: displacement to undefined symbol .L77 overflows 8-bit field {standard input}:590: Error: displacement to undefined symbol .L105 overflows 8-bit field {standard input}:591: Error: displacement to undefined symbol .L76 overflows 12-bit field {standard input}:603: Error: displacement to undefined symbol .L135 overflows 8-bit field {standard input}:606: Error: displacement to undefined symbol .L81 overflows 8-bit field {standard input}:574: Error: pcrel too far {standard input}:595: Error: pcrel too far {standard input}:601: Error: pcrel too far sh4-linux-gcc: internal compiler error: Segmentation fault signal terminated program cc1 Please submit a full bug report, with preprocessed source (by using -freport-bug). See for instructions. make[6]: *** [/kisskb/src/scripts/Makefile.build:243: drivers/hwmon/pmbus/mp2975.o] Error 4 make[6]: *** Waiting for unfinished jobs.... make[5]: *** [/kisskb/src/scripts/Makefile.build:481: drivers/hwmon/pmbus] Error 2 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:481: drivers/hwmon] Error 2 make[3]: *** [/kisskb/src/scripts/Makefile.build:481: drivers] Error 2 make[2]: *** [/kisskb/src/Makefile:1921: .] Error 2 make[1]: *** [/kisskb/src/Makefile:240: __sub-make] Error 2 make: *** [Makefile:240: __sub-make] Error 2 Command 'make -s -j 160 ARCH=sh O=/kisskb/build/linus_allmodconfig_sh4-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sh4-linux/bin/sh4-linux- ' returned non-zero exit status 2. # rm -rf /kisskb/build/linus_allmodconfig_sh4-gcc13 # Build took: 0:06:19.917372