cmd/fdt.c align data buffer to avoid unaligned word access
Since the compiler is free to place a char array to any address in memory (in this case the stack), also to a non word aligned address the function "fdt_prop_parse" runs into troubles upon it wants to write some (fdt32_t *) to such a variable (if it has been placed to a none word aligned address). To avoid this we tell the compiler to always align this scratchpad to a word aligned address. Signed-off-by: Bernhard Messerklinger <bernhard.messerklinger@br-automation.com> Reviewed-by: Hannes Schmelzer <oe5hpm@oevsv.at> Tested-by: Hannes Schmelzer <oe5hpm@oevsv.at> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
c253573f3e
commit
6dfd65f81f
@ -256,7 +256,7 @@ static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
char *pathp; /* path */
|
||||
char *prop; /* property */
|
||||
int nodeoffset; /* node offset from libfdt */
|
||||
static char data[SCRATCHPAD]; /* storage for the property */
|
||||
static char data[SCRATCHPAD] __aligned(4);/* property storage */
|
||||
const void *ptmp;
|
||||
int len; /* new length of the property */
|
||||
int ret; /* return value */
|
||||
|
Loading…
Reference in New Issue
Block a user