earlycon: Fix __earlycon_table stride
PATCH 1/1 earlycon: Fix __earlycon_table stride
The compiler and the linker must agree on the alignment of struct earlycon_id; empirical testing and commit 07fca0e57fca92 ("tracing: Properly align linker defined symbols") suggests 32-byte alignment is the LCD.
Reported-by Yinghai Lu <[email protected]>
Signed-off-by Peter Hurley <[email protected]>
--- include/asm-generic/vmlinux.lds.h | 2 +- include/linux/serial_core.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
include/asm-generic/vmlinux.lds.h +1 -1
@@ -151,7 +151,7 @@#endif #ifdef CONFIG_SERIAL_EARLYCON -#define EARLYCON_TABLE () . = ALIGN(8); \ +#define EARLYCON_TABLE () STRUCT_ALIGN(); \ VMLINUX_SYMBOL(__earlycon_table) = .; \ *(__earlycon_table) \ *(__earlycon_table_end)
include/linux/serial_core.h +1 -1
@@ -342,7 +342,7 @@ struct earlycon_device {struct earlycon_id {char name[16 ];int (*setup)(struct earlycon_device *,const char *options); -}; +}__aligned(32) ;extern int setup_earlycon (char *buf); extern int of_setup_earlycon(unsigned long addr,
Signature · 1 line
2.3.5