diff options
author | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-10-09 09:28:15 +0000 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2012-10-15 11:53:07 -0700 |
commit | b823fd9ba56d56e3cbb5b05e7a4815fb0914204a (patch) | |
tree | b93f7f8ba2874cd0478aee2f96718aedf4031ce7 /common | |
parent | 6528ff0109d81c1f21d20f9f1370782bccf87bcb (diff) | |
download | u-boot-imx-b823fd9ba56d56e3cbb5b05e7a4815fb0914204a.zip u-boot-imx-b823fd9ba56d56e3cbb5b05e7a4815fb0914204a.tar.gz u-boot-imx-b823fd9ba56d56e3cbb5b05e7a4815fb0914204a.tar.bz2 |
ARM: prevent misaligned array inits
Under option -munaligned-access, gcc can perform local char
or 16-bit array initializations using misaligned native
accesses which will throw a data abort exception. Fix files
where these array initializations were unneeded, and for
files known to contain such initializations, enforce gcc
option -mno-unaligned-access.
Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
[trini: Switch to usign call cc-option for -mno-unaligned-access as
Albert had done previously as that's really correct]
Signed-off-by: Tom Rini <trini@ti.com>
Diffstat (limited to 'common')
-rw-r--r-- | common/Makefile | 4 | ||||
-rw-r--r-- | common/cmd_dfu.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/common/Makefile b/common/Makefile index 973f05a..33c606a 100644 --- a/common/Makefile +++ b/common/Makefile @@ -232,6 +232,10 @@ $(obj)env_embedded.o: $(src)env_embedded.c $(obj)../tools/envcrc $(obj)../tools/envcrc: $(MAKE) -C ../tools +# SEE README.arm-unaligned-accesses +$(obj)hush.o: CFLAGS += $(PLATFORM_NO_UNALIGNED) +$(obj)fdt_support.o: CFLAGS += $(PLATFORM_NO_UNALIGNED) + ######################################################################### # defines $(obj).depend target diff --git a/common/cmd_dfu.c b/common/cmd_dfu.c index 62fb890..01d6b3a 100644 --- a/common/cmd_dfu.c +++ b/common/cmd_dfu.c @@ -30,7 +30,7 @@ static int do_dfu(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { const char *str_env; - char s[] = "dfu"; + char *s = "dfu"; char *env_bkp; int ret; |