1.1 --- a/config/arch/arm.in Wed Oct 21 23:20:30 2009 +0200
1.2 +++ b/config/arch/arm.in Mon Oct 26 09:10:38 2009 +0100
1.3 @@ -13,6 +13,31 @@
1.4 The ARM architecture, as defined by:
1.5 http://www.arm.com/
1.6
1.7 +config ARCH_ARM_MODE
1.8 + string
1.9 + default "arm" if ARCH_ARM_MODE_ARM
1.10 + default "thumb" if ARCH_ARM_MODE_THUMB
1.11 +
1.12 +choice
1.13 + bool
1.14 + prompt "Default instruction set mode"
1.15 + default ARCH_ARM_MODE_ARM
1.16 +
1.17 +config ARCH_ARM_MODE_ARM
1.18 + bool
1.19 + prompt "arm"
1.20 + help
1.21 + Defaults to emitting instructions in the ARM mode.
1.22 +
1.23 +config ARCH_ARM_MODE_THUMB
1.24 + bool
1.25 + prompt "thumb (EXPERIMENTAL)"
1.26 + depends on EXPERIMENTAL
1.27 + help
1.28 + Defaults to emitting instructions in the THUMB mode.
1.29 +
1.30 +endchoice
1.31 +
1.32 config ARCH_ARM_EABI
1.33 bool
1.34 prompt "Use EABI"
2.1 --- a/scripts/build/arch/arm.sh Wed Oct 21 23:20:30 2009 +0200
2.2 +++ b/scripts/build/arch/arm.sh Mon Oct 26 09:10:38 2009 +0100
2.3 @@ -10,4 +10,14 @@
2.4 uClibc,y) CT_TARGET_SYS=uclibcgnueabi;;
2.5 *,y) CT_TARGET_SYS=eabi;;
2.6 esac
2.7 +
2.8 + # Set the default instrcution set mode
2.9 + case "${CT_ARCH_ARM_MODE}" in
2.10 + arm) ;;
2.11 + thumb)
2.12 + CT_ARCH_CC_CORE_EXTRA_CONFIG="--with-mode=thumb"
2.13 + CT_ARCH_CC_EXTRA_CONFIG="--with-mode=thumb"
2.14 +# CT_ARCH_TARGET_CFLAGS="-mthumb"
2.15 + ;;
2.16 + esac
2.17 }