summaryrefslogtreecommitdiffstats
path: root/arch/arm/lib/memcpy.S
diff options
context:
space:
mode:
authorAlbert ARIBAUD <albert.u.boot@aribaud.net>2015-10-23 18:06:40 +0200
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2015-11-10 15:03:48 +0100
commit62e92077a8936e60087d55683538ee386cc673aa (patch)
tree98bf9f9796ab466ad1bff97c7672d5c3159526d3 /arch/arm/lib/memcpy.S
parentbf104ffa2594e5bf14ef2d5ac2711084c763ef77 (diff)
downloadtalos-obmc-uboot-62e92077a8936e60087d55683538ee386cc673aa.tar.gz
talos-obmc-uboot-62e92077a8936e60087d55683538ee386cc673aa.zip
arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD
When building a Thumb-1-only target with CONFIG_SYS_THUMB_BUILD, some files fail to build, most of the time because they include mcr instructions, which only exist for Thumb-2. This patch introduces a Kconfig option CONFIG_THUMB2 and uses it to select between Thumb-2 and ARM mode for the aforementioned files. Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
Diffstat (limited to 'arch/arm/lib/memcpy.S')
-rw-r--r--arch/arm/lib/memcpy.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/lib/memcpy.S b/arch/arm/lib/memcpy.S
index eeaf003529..7d9fc0f9be 100644
--- a/arch/arm/lib/memcpy.S
+++ b/arch/arm/lib/memcpy.S
@@ -13,7 +13,7 @@
#include <linux/linkage.h>
#include <asm/assembler.h>
-#ifdef CONFIG_SYS_THUMB_BUILD
+#if defined(CONFIG_SYS_THUMB_BUILD) && !defined(MEMCPY_NO_THUMB_BUILD)
#define W(instr) instr.w
#else
#define W(instr) instr
@@ -62,7 +62,7 @@
/* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
.syntax unified
-#ifdef CONFIG_SYS_THUMB_BUILD
+#if defined(CONFIG_SYS_THUMB_BUILD) && !defined(MEMCPY_NO_THUMB_BUILD)
.thumb
.thumb_func
#endif
OpenPOWER on IntegriCloud