summaryrefslogtreecommitdiff
path: root/arch/arm/lib/Makefile
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2015-11-10 13:38:08 -0500
committerTom Rini <trini@konsulko.com>2015-11-10 13:38:08 -0500
commitcad04990715f7eaecd45196e84cf10e9e3248dae (patch)
tree269c3c01ad2134c69d7a7d42585baac9f091a837 /arch/arm/lib/Makefile
parent7ff15aca1a5bbfcf2dfbc18ec7b031c482851f69 (diff)
parent5e68ff3949a3eebf62ba639171814f39c8e46a84 (diff)
downloadu-boot-cad04990715f7eaecd45196e84cf10e9e3248dae.tar.gz
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'arch/arm/lib/Makefile')
-rw-r--r--arch/arm/lib/Makefile24
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile
index 2bdfaba5b7..f3db7b58cb 100644
--- a/arch/arm/lib/Makefile
+++ b/arch/arm/lib/Makefile
@@ -60,3 +60,27 @@ obj-$(CONFIG_DEBUG_LL) += debug.o
ifneq (,$(findstring -mabi=aapcs-linux,$(PLATFORM_CPPFLAGS)))
extra-y += eabi_compat.o
endif
+
+# some files can only build in ARM or THUMB2, not THUMB1
+
+ifdef CONFIG_SYS_THUMB_BUILD
+ifndef CONFIG_HAS_THUMB2
+
+# for C files, just apend -marm, which will override previous -mthumb*
+
+CFLAGS_cache.o := -marm
+CFLAGS_cache-cp15.o := -marm
+
+# For .S, drop -mthumb* and other thumb-related options.
+# CFLAGS_REMOVE_* would not have an effet, so AFLAGS_REMOVE_*
+# was implemented and is used here.
+# Also, define ${target}_NO_THUMB_BUILD for these two targets
+# so that the code knows it should not use Thumb.
+
+AFLAGS_REMOVE_memset.o := -mthumb -mthumb-interwork
+AFLAGS_REMOVE_memcpy.o := -mthumb -mthumb-interwork
+AFLAGS_memset.o := -DMEMSET_NO_THUMB_BUILD
+AFLAGS_memcpy.o := -DMEMCPY_NO_THUMB_BUILD
+
+endif
+endif