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: