summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2012-03-16 06:34:35 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-05-15 08:31:26 +0200
commit06a119a03147aec3cf1fe746a6ef0aa1c66e7e72 (patch)
tree8eebd037181aea6347e14f0d80402dd06ec64384
parent19a695f84bb15e1a9203121f9dd4d1787d9a7757 (diff)
downloadu-boot-imx-06a119a03147aec3cf1fe746a6ef0aa1c66e7e72.zip
u-boot-imx-06a119a03147aec3cf1fe746a6ef0aa1c66e7e72.tar.gz
u-boot-imx-06a119a03147aec3cf1fe746a6ef0aa1c66e7e72.tar.bz2
Makefile: Add a 'checkthumb' rule
This rule confirms that if we're on ARM and we have enabled THUMB builds that we have a new enough toolchain to produce a working binary. Changes in v2: - Switch to ALL-$(CONFIG_SYS_THUMB_BUILD) in arch/arm/config.mk (Mike F) - Simplfy checkthumb test after doing the above Signed-off-by: Tom Rini <trini@ti.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r--Makefile7
-rw-r--r--arch/arm/config.mk5
2 files changed, 12 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 023ea23..351a8f0 100644
--- a/Makefile
+++ b/Makefile
@@ -556,6 +556,13 @@ SYSTEM_MAP = \
$(obj)System.map: $(obj)u-boot
@$(call SYSTEM_MAP,$<) > $(obj)System.map
+checkthumb:
+ @if test $(call cc-version) -lt 0404; then \
+ echo -n '*** Your GCC does not produce working '; \
+ echo 'binaries in THUMB mode.'; \
+ echo '*** Your board is configured for THUMB mode.'; \
+ false; \
+ fi
#
# Auto-generate the autoconf.mk file (which is included by all makefiles)
#
diff --git a/arch/arm/config.mk b/arch/arm/config.mk
index 4cc99e7..3f4453a 100644
--- a/arch/arm/config.mk
+++ b/arch/arm/config.mk
@@ -44,6 +44,11 @@ PF_CPPFLAGS_ARM := $(call cc-option,-marm,) \
$(call cc-option,-mno-thumb-interwork,)
endif
+# Only test once
+ifneq ($(CONFIG_SPL_BUILD),y)
+ALL-$(CONFIG_SYS_THUMB_BUILD) += checkthumb
+endif
+
# Try if EABI is supported, else fall back to old API,
# i. e. for example:
# - with ELDK 4.2 (EABI supported), use: