summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 023ea23a38..351a8f04d2 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 4cc99e7613..3f4453a234 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: