sched, vmlinux.lds: Increase STRUCT_ALIGNMENT to 64 bytes for GCC-4.9
authorPeter Zijlstra <peterz@infradead.org>
Tue, 30 Jun 2020 14:49:05 +0000 (16:49 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 8 Jul 2020 09:39:00 +0000 (11:39 +0200)
commit85c2ce9104eb93517db2037699471c517e81f9b4
tree536dbf3aa607a4790c41de956567413ba1468428
parentfaa2fd7cbad4609d06d7904c0a80cf2f8cd23678
sched, vmlinux.lds: Increase STRUCT_ALIGNMENT to 64 bytes for GCC-4.9

For some mysterious reason GCC-4.9 has a 64 byte section alignment for
structures, all other GCC versions (and Clang) tested (including 4.8
and 5.0) are fine with the 32 bytes alignment.

Getting this right is important for the new SCHED_DATA macro that
creates an explicitly ordered array of 'struct sched_class' in the
linker script and expect pointer arithmetic to work.

Fixes: c3a340f7e7ea ("sched: Have sched_class_highest define by vmlinux.lds.h")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200630144905.GX4817@hirez.programming.kicks-ass.net
include/asm-generic/vmlinux.lds.h
kernel/sched/sched.h