On Sun, May 02, 2021 at 12:15:38AM +0900, Masahiro Yamada wrote: > The current minimum GCC version is 4.9 except ARCH=arm64 requiring > GCC 5.1. > > When we discussed last time, we agreed to raise the minimum GCC version > to 5.1 globally. [1] There are still a lot of comment references to old gcc releases with workarounds or bugfixes, a quick serarch: $ git grep -in 'gcc.*[234]\.x' arch/alpha/include/asm/string.h:30:/* For gcc 3.x, we cannot have the inline function named "memset" because arch/arc/include/asm/checksum.h:9: * -gcc 4.4.x broke networking. Alias analysis needed to be primed. arch/arm/Makefile:127:# Need -Uarm for gcc < 3.x arch/ia64/lib/memcpy_mck.S:535: * Due to lack of local tag support in gcc 2.x assembler, it is not clear which arch/mips/include/asm/page.h:210: * also affect MIPS so we keep this one until GCC 3.x has been retired arch/x86/include/asm/page.h:53: * remove this Voodoo magic stuff. (i.e. once gcc3.x is deprecated) arch/x86/kvm/x86.c:5569: * This union makes it completely explicit to gcc-3.x arch/x86/mm/pgtable.c:302: if (PREALLOCATED_PMDS == 0) /* Work around gcc-3.4.x bug */ drivers/net/ethernet/renesas/sh_eth.c:51: * that warning from W=1 builds. GCC has supported this option since 4.2.X, but lib/xz/xz_dec_lzma2.c:494: * of the code generated by GCC 3.x decreases 10-15 %. (GCC 4.3 doesn't care, lib/xz/xz_dec_lzma2.c:495: * and it generates 10-20 % faster code than GCC 3.x from this file anyway.) net/core/skbuff.c:32: * The functions in this file will not compile correctly with gcc 2.4.x This misses version-specific quirks, but the following returns 216 results and not all are problematic (eg. just referring to gcc for some historical reason) so I'm not pasting it here. $ git grep -in 'gcc.*[234]\.[0-9]' ...