For powerpc the __jump_table section in modules is not aligned, this causes a WARN_ON() splat when loading a module containing a __jump_table. Strict alignment became necessary with commit 3821fd35b58d ("jump_label: Reduce the size of struct static_key"), currently in linux-next, which uses the two least significant bits of pointers to __jump_table elements. Fix by forcing __jump_table to 8, which is the same alignment used for this section in the kernel proper. Link: http://lkml.kernel.org/r/20170301220453.4756-1-david.daney@cavium.com
Unified · Split
| @@ -19,4 +19,6 @@ SECTIONS { · 18 unmodified lines | ||
| 19 | 19 | |
| 20 | 20 | . = ALIGN(8); |
| 21 | 21 | .init_array 0 : { *(SORT(.init_array.*)) *(.init_array) } |
| 22 | + | |
| 23 | + __jump_table 0 : ALIGN(8) { KEEP(*(__jump_table)) } | |
| 22 | 24 | } |