arch/arm: add THUMB mode config option
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Oct 26 09:10:38 2009 +0100 (2009-10-26)
changeset 1596ca1bf632da51
parent 1595 882122458d2d
child 1597 fa8f3ab724f9
arch/arm: add THUMB mode config option
config/arch/arm.in
scripts/build/arch/arm.sh
     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  }