summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-10-26 08:10:38 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-10-26 08:10:38 (GMT)
commitd2324af8c753a0d16d4e687f26965d286659a8f8 (patch)
tree745ad688b4a3e64d0dc4ce7043f42f05e0939bc2
parentda0ff22e6ccbe1d7f914cd05085295ec1af81c68 (diff)
arch/arm: add THUMB mode config option
-rw-r--r--config/arch/arm.in25
-rw-r--r--scripts/build/arch/arm.sh10
2 files changed, 35 insertions, 0 deletions
diff --git a/config/arch/arm.in b/config/arch/arm.in
index dc31a5c..4dc2eaf 100644
--- a/config/arch/arm.in
+++ b/config/arch/arm.in
@@ -13,6 +13,31 @@ config ARCH_arm
The ARM architecture, as defined by:
http://www.arm.com/
+config ARCH_ARM_MODE
+ string
+ default "arm" if ARCH_ARM_MODE_ARM
+ default "thumb" if ARCH_ARM_MODE_THUMB
+
+choice
+ bool
+ prompt "Default instruction set mode"
+ default ARCH_ARM_MODE_ARM
+
+config ARCH_ARM_MODE_ARM
+ bool
+ prompt "arm"
+ help
+ Defaults to emitting instructions in the ARM mode.
+
+config ARCH_ARM_MODE_THUMB
+ bool
+ prompt "thumb (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ help
+ Defaults to emitting instructions in the THUMB mode.
+
+endchoice
+
config ARCH_ARM_EABI
bool
prompt "Use EABI"
diff --git a/scripts/build/arch/arm.sh b/scripts/build/arch/arm.sh
index a394cc7..961253f 100644
--- a/scripts/build/arch/arm.sh
+++ b/scripts/build/arch/arm.sh
@@ -10,4 +10,14 @@ CT_DoArchTupleValues() {
uClibc,y) CT_TARGET_SYS=uclibcgnueabi;;
*,y) CT_TARGET_SYS=eabi;;
esac
+
+ # Set the default instrcution set mode
+ case "${CT_ARCH_ARM_MODE}" in
+ arm) ;;
+ thumb)
+ CT_ARCH_CC_CORE_EXTRA_CONFIG="--with-mode=thumb"
+ CT_ARCH_CC_EXTRA_CONFIG="--with-mode=thumb"
+# CT_ARCH_TARGET_CFLAGS="-mthumb"
+ ;;
+ esac
}