On Tue, 14 Aug 2018 10:09:04 -0700 Guenter Roeck <li...@roeck-us.net> wrote:

> 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

Confused.  Why does it think that the mm_struct is "otherwise empty"?

This shuts it up:

--- a/include/linux/mm_types.h~a
+++ a/include/linux/mm_types.h
@@ -490,6 +490,7 @@ struct mm_struct {
 #endif
        } __randomize_layout;
 
+       int wibble;
        /*
         * The mm_cpumask needs to be at the end of mm_struct, because it
         * is dynamically sized based on nr_cpu_ids.


So we could add something like that, along with the appropriate #if
GCC_VERSION and a comment.  A simple enough change, to keep those old
gcc versions limping along for a bit longer?

Reply via email to