Build failures with gcc 4.5 and older

From: Guenter Roeck
Date: Tue Aug 14 2018 - 13:09:09 EST


Since commit c1a2f7f0c0645 ("mm: Allocate the mm_cpumask
(mm->cpu_bitmap[]) dynamically based on nr_cpu_ids"), building
the Linux kernel with gcc version 4.5 and older fails as follows.

In file included from ./include/linux/mm.h:17:0,
from ./include/linux/pid_namespace.h:7,
from ./include/linux/ptrace.h:10,
from arch/openrisc/kernel/asm-offsets.c:32:
./include/linux/mm_types.h:497:16: error: flexible array member in otherwise empty struct

This is just an example with gcc 4.5.1 for or32. I have seen the problem
with gcc 4.4 (for unicore32) as well.

Does that mean that gcc 4.5 and older are now officially no longer
supported for compiling the kernel ?

If so, would it make sense to update include/linux/compiler-gcc.h
accordingly ?