
By default sections are 16-byte aligned on some architectures, but the command name structure (struct cmd_tbl_s) does not have padding to 16 bytes. This change reduces the alignment to 4-bytes so that the command table can be accessed correctly on any architecture.
(Note: this needs doing properly)
Signed-off-by: Simon Glass sjg@chromium.org --- include/command.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/include/command.h b/include/command.h index 377e201..6f8b29a 100644 --- a/include/command.h +++ b/include/command.h @@ -128,7 +128,8 @@ extern int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]); #define CMD_FLAG_REPEAT 0x0001 /* repeat last command */ #define CMD_FLAG_BOOTD 0x0002 /* command is from bootd */
-#define Struct_Section __attribute__ ((unused,section (".u_boot_cmd"))) +#define Struct_Section __attribute__((unused, section(".u_boot_cmd"), \ + aligned(4)))
#ifdef CONFIG_AUTO_COMPLETE # define _CMD_COMPLETE(x) x,