diff options
author | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-10-09 13:28:15 +0400 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2012-10-15 22:53:07 +0400 |
commit | b823fd9ba56d56e3cbb5b05e7a4815fb0914204a (patch) | |
tree | b93f7f8ba2874cd0478aee2f96718aedf4031ce7 /arch/arm/cpu/armv7/config.mk | |
parent | 6528ff0109d81c1f21d20f9f1370782bccf87bcb (diff) | |
download | u-boot-b823fd9ba56d56e3cbb5b05e7a4815fb0914204a.tar.xz |
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 'arch/arm/cpu/armv7/config.mk')
-rw-r--r-- | arch/arm/cpu/armv7/config.mk | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/cpu/armv7/config.mk b/arch/arm/cpu/armv7/config.mk index 560c084dc9..9c3e2f3ce4 100644 --- a/arch/arm/cpu/armv7/config.mk +++ b/arch/arm/cpu/armv7/config.mk @@ -26,8 +26,6 @@ PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float # supported by more tool-chains PF_CPPFLAGS_ARMV7 := $(call cc-option, -march=armv7-a, -march=armv5) PLATFORM_CPPFLAGS += $(PF_CPPFLAGS_ARMV7) -PF_CPPFLAGS_NO_UNALIGNED := $(call cc-option, -mno-unaligned-access,) -PLATFORM_CPPFLAGS += $(PF_CPPFLAGS_NO_UNALIGNED) # ========================================================================= # @@ -36,6 +34,11 @@ PLATFORM_CPPFLAGS += $(PF_CPPFLAGS_NO_UNALIGNED) # ========================================================================= PF_RELFLAGS_SLB_AT := $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) PLATFORM_RELFLAGS += $(PF_RELFLAGS_SLB_AT) + +# SEE README.arm-unaligned-accesses +PF_NO_UNALIGNED := $(call cc-option, -mno-unaligned-access,) +PLATFORM_NO_UNALIGNED := $(PF_NO_UNALIGNED) + ifneq ($(CONFIG_IMX_CONFIG),) ALL-y += $(obj)u-boot.imx endif |