# git rev-parse -q --verify 316346243be6df12799c0b64b788e06bad97c30b^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/linus master 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 316346243be6df12799c0b64b788e06bad97c30b^{commit} 316346243be6df12799c0b64b788e06bad97c30b # git checkout -q -f -B kisskb 316346243be6df12799c0b64b788e06bad97c30b # git clean -qxdf # < git log -1 # commit 316346243be6df12799c0b64b788e06bad97c30b # Merge: a69ae291e1cc df26327ea097 # Author: Linus Torvalds # Date: Mon Sep 13 10:43:04 2021 -0700 # # Merge branch 'gcc-min-version-5.1' (make gcc-5.1 the minimum version) # # Merge patch series from Nick Desaulniers to update the minimum gcc # version to 5.1. # # This is some of the left-overs from the merge window that I didn't want # to deal with yesterday, so it comes in after -rc1 but was sent before. # # Gcc-4.9 support has been an annoyance for some time, and with -Werror I # had the choice of applying a fairly big patch from Kees Cook to remove a # fair number of initializer warnings (still leaving some), or this patch # series from Nick that just removes the source of the problem. # # The initializer cleanups might still be worth it regardless, but # honestly, I preferred just tackling the problem with gcc-4.9 head-on. # We've been more aggressiuve about no longer having to care about # compilers that were released a long time ago, and I think it's been a # good thing. # # I added a couple of patches on top to sort out a few left-overs now that # we no longer support gcc-4.x. # # As noted by Arnd, as a result of this minimum compiler version upgrade # we can probably change our use of '--std=gnu89' to '--std=gnu11', and # finally start using local loop declarations etc. But this series does # _not_ yet do that. # # Link: https://lore.kernel.org/all/20210909182525.372ee687@canb.auug.org.au/ # Link: https://lore.kernel.org/lkml/CAK7LNASs6dvU6D3jL2GG3jW58fXfaj6VNOe55NJnTB8UPuk2pA@mail.gmail.com/ # Link: https://github.com/ClangBuiltLinux/linux/issues/1438 # # * emailed patches from Nick Desaulniers : # Drop some straggling mentions of gcc-4.9 as being stale # compiler_attributes.h: drop __has_attribute() support for gcc4 # vmlinux.lds.h: remove old check for GCC 4.9 # compiler-gcc.h: drop checks for older GCC versions # Makefile: drop GCC < 5 -fno-var-tracking-assignments workaround # arm64: remove GCC version check for ARCH_SUPPORTS_INT128 # powerpc: remove GCC version check for UPD_CONSTR # riscv: remove Kconfig check for GCC version for ARCH_RV64I # Kconfig.debug: drop GCC 5+ version check for DWARF5 # mm/ksm: remove old GCC 4.9+ check # compiler.h: drop fallback overflow checkers # Documentation: raise minimum supported version of GCC to 5.1 # < /opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 316346243be6df12799c0b64b788e06bad97c30b # < make -s -j 48 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- randconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_CPU_BIG_ENDIAN=y # Added to kconfig CONFIG_PPC64=y # Added to kconfig CONFIG_PPC_DISABLE_WERROR=y # Added to kconfig CONFIG_SECTION_MISMATCH_WARN_ONLY=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_LD_HEAD_STUB_CATCH=y # Added to kconfig CONFIG_TRIM_UNUSED_KSYMS=n # Added to kconfig CONFIG_UBSAN=n # < make -s -j 48 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 48 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig .config:3936:warning: override: reassigning to symbol STANDALONE .config:3942:warning: override: reassigning to symbol SECTION_MISMATCH_WARN_ONLY .config:3943:warning: override: reassigning to symbol PREVENT_FIRMWARE_BUILD .config:3945:warning: override: reassigning to symbol GCC_PLUGINS .config:3946:warning: override: reassigning to symbol LD_HEAD_STUB_CATCH .config:3948:warning: override: reassigning to symbol UBSAN # make -s -j 48 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/arch/powerpc/tools/relocs_check.sh: 60: echo: echo: I/O error In file included from : /kisskb/src/include/linux/compiler_attributes.h:62:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 62 | #if __has_attribute(__assume_aligned__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:62:20: error: missing binary operator before token "(" 62 | #if __has_attribute(__assume_aligned__) | ^ /kisskb/src/include/linux/compiler_attributes.h:88:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 88 | #if __has_attribute(__copy__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:88:20: error: missing binary operator before token "(" 88 | #if __has_attribute(__copy__) | ^ /kisskb/src/include/linux/compiler_attributes.h:113:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 113 | #if __has_attribute(__designated_init__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:113:20: error: missing binary operator before token "(" 113 | #if __has_attribute(__designated_init__) | ^ /kisskb/src/include/linux/compiler_attributes.h:124:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 124 | #if __has_attribute(__error__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:124:20: error: missing binary operator before token "(" 124 | #if __has_attribute(__error__) | ^ /kisskb/src/include/linux/compiler_attributes.h:135:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 135 | #if __has_attribute(__externally_visible__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:135:20: error: missing binary operator before token "(" 135 | #if __has_attribute(__externally_visible__) | ^ In file included from : /kisskb/src/include/linux/compiler_attributes.h:171:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 171 | #if __has_attribute(__no_caller_saved_registers__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:171:20: error: missing binary operator before token "(" 171 | #if __has_attribute(__no_caller_saved_registers__) | ^ In file included from : /kisskb/src/include/linux/compiler_attributes.h:62:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 62 | #if __has_attribute(__assume_aligned__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:62:20: error: missing binary operator before token "(" 62 | #if __has_attribute(__assume_aligned__) | ^ /kisskb/src/include/linux/compiler_attributes.h:182:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 182 | #if __has_attribute(__noclone__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:88:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 88 | #if __has_attribute(__copy__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:88:20: error: missing binary operator before token "(" 88 | #if __has_attribute(__copy__) | ^ /kisskb/src/include/linux/compiler_attributes.h:182:20: error: missing binary operator before token "(" 182 | #if __has_attribute(__noclone__) | ^ /kisskb/src/include/linux/compiler_attributes.h:113:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 113 | #if __has_attribute(__designated_init__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:199:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 199 | #if __has_attribute(__fallthrough__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:113:20: error: missing binary operator before token "(" 113 | #if __has_attribute(__designated_init__) | ^ /kisskb/src/include/linux/compiler_attributes.h:199:20: error: missing binary operator before token "(" 199 | #if __has_attribute(__fallthrough__) | ^ /kisskb/src/include/linux/compiler_attributes.h:124:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 124 | #if __has_attribute(__error__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:124:20: error: missing binary operator before token "(" 124 | #if __has_attribute(__error__) | ^ /kisskb/src/include/linux/compiler_attributes.h:226:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 226 | #if __has_attribute(__nonstring__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:135:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 135 | #if __has_attribute(__externally_visible__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:226:20: error: missing binary operator before token "(" 226 | #if __has_attribute(__nonstring__) | ^ /kisskb/src/include/linux/compiler_attributes.h:135:20: error: missing binary operator before token "(" 135 | #if __has_attribute(__externally_visible__) | ^ /kisskb/src/include/linux/compiler_attributes.h:238:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 238 | #if __has_attribute(__no_profile_instrument_function__) | ^~~~~~~~~~~~~~~ In file included from : /kisskb/src/include/linux/compiler_attributes.h:171:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 171 | #if __has_attribute(__no_caller_saved_registers__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:238:20: error: missing binary operator before token "(" 238 | #if __has_attribute(__no_profile_instrument_function__) | ^ /kisskb/src/include/linux/compiler_attributes.h:171:20: error: missing binary operator before token "(" 171 | #if __has_attribute(__no_caller_saved_registers__) | ^ /kisskb/src/include/linux/compiler_attributes.h:182:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 182 | #if __has_attribute(__noclone__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:182:20: error: missing binary operator before token "(" 182 | #if __has_attribute(__noclone__) | ^ /kisskb/src/include/linux/compiler_attributes.h:296:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 296 | #if __has_attribute(__warning__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:199:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 199 | #if __has_attribute(__fallthrough__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:296:20: error: missing binary operator before token "(" 296 | #if __has_attribute(__warning__) | ^ /kisskb/src/include/linux/compiler_attributes.h:199:20: error: missing binary operator before token "(" 199 | #if __has_attribute(__fallthrough__) | ^ /kisskb/src/include/linux/compiler_attributes.h:226:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 226 | #if __has_attribute(__nonstring__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:226:20: error: missing binary operator before token "(" 226 | #if __has_attribute(__nonstring__) | ^ /kisskb/src/include/linux/compiler_attributes.h:238:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 238 | #if __has_attribute(__no_profile_instrument_function__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:238:20: error: missing binary operator before token "(" 238 | #if __has_attribute(__no_profile_instrument_function__) | ^ /kisskb/src/include/linux/compiler_attributes.h:296:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 296 | #if __has_attribute(__warning__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:296:20: error: missing binary operator before token "(" 296 | #if __has_attribute(__warning__) | ^ make[2]: *** [/kisskb/src/arch/powerpc/boot/Makefile:225: arch/powerpc/boot/crt0.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from : /kisskb/src/include/linux/compiler_attributes.h:62:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 62 | #if __has_attribute(__assume_aligned__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:62:20: error: missing binary operator before token "(" 62 | #if __has_attribute(__assume_aligned__) | ^ make[2]: *** [/kisskb/src/arch/powerpc/boot/Makefile:225: arch/powerpc/boot/crtsavres.o] Error 1 /kisskb/src/include/linux/compiler_attributes.h:88:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 88 | #if __has_attribute(__copy__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:88:20: error: missing binary operator before token "(" 88 | #if __has_attribute(__copy__) | ^ /kisskb/src/include/linux/compiler_attributes.h:113:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 113 | #if __has_attribute(__designated_init__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:113:20: error: missing binary operator before token "(" 113 | #if __has_attribute(__designated_init__) | ^ /kisskb/src/include/linux/compiler_attributes.h:124:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 124 | #if __has_attribute(__error__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:124:20: error: missing binary operator before token "(" 124 | #if __has_attribute(__error__) | ^ /kisskb/src/include/linux/compiler_attributes.h:135:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 135 | #if __has_attribute(__externally_visible__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:135:20: error: missing binary operator before token "(" 135 | #if __has_attribute(__externally_visible__) | ^ In file included from : /kisskb/src/include/linux/compiler_attributes.h:171:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 171 | #if __has_attribute(__no_caller_saved_registers__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:171:20: error: missing binary operator before token "(" 171 | #if __has_attribute(__no_caller_saved_registers__) | ^ /kisskb/src/include/linux/compiler_attributes.h:182:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 182 | #if __has_attribute(__noclone__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:182:20: error: missing binary operator before token "(" 182 | #if __has_attribute(__noclone__) | ^ /kisskb/src/include/linux/compiler_attributes.h:199:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 199 | #if __has_attribute(__fallthrough__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:199:20: error: missing binary operator before token "(" 199 | #if __has_attribute(__fallthrough__) | ^ /kisskb/src/include/linux/compiler_attributes.h:226:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 226 | #if __has_attribute(__nonstring__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:226:20: error: missing binary operator before token "(" 226 | #if __has_attribute(__nonstring__) | ^ /kisskb/src/include/linux/compiler_attributes.h:238:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 238 | #if __has_attribute(__no_profile_instrument_function__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:238:20: error: missing binary operator before token "(" 238 | #if __has_attribute(__no_profile_instrument_function__) | ^ /kisskb/src/include/linux/compiler_attributes.h:296:5: warning: "__has_attribute" is not defined, evaluates to 0 [-Wundef] 296 | #if __has_attribute(__warning__) | ^~~~~~~~~~~~~~~ /kisskb/src/include/linux/compiler_attributes.h:296:20: error: missing binary operator before token "(" 296 | #if __has_attribute(__warning__) | ^ make[2]: *** [/kisskb/src/arch/powerpc/boot/Makefile:225: arch/powerpc/boot/div64.o] Error 1 make[1]: *** [/kisskb/src/arch/powerpc/Makefile:283: zImage] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 48 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc9 # Build took: 0:03:12.636252