diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2009-10-26 23:11:10 +0100 |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2009-10-26 23:11:10 +0100 |
commit | c916a69abf35495e4ad0bd2d4d35cb987bf1783a (patch) | |
tree | d2bc29bc6796fe6532d5765779dd73d4ba8eb2cc | |
parent | d2324af8c753a0d16d4e687f26965d286659a8f8 (diff) | |
download | crosstool-ng-c916a69abf35495e4ad0bd2d4d35cb987bf1783a.tar.gz crosstool-ng-c916a69abf35495e4ad0bd2d4d35cb987bf1783a.tar.bz2 crosstool-ng-c916a69abf35495e4ad0bd2d4d35cb987bf1783a.zip |
arch/arm: add THUMB interworking support
Add config option to build wtarget code with THUMB interworking.
This is used to build the C library as well as all other code
that runs on the target.
-rw-r--r-- | config/arch/arm.in | 14 | ||||
-rw-r--r-- | scripts/build/arch/arm.sh | 4 |
2 files changed, 18 insertions, 0 deletions
diff --git a/config/arch/arm.in b/config/arch/arm.in index 4dc2eafb..6daa6030 100644 --- a/config/arch/arm.in +++ b/config/arch/arm.in @@ -38,6 +38,20 @@ config ARCH_ARM_MODE_THUMB endchoice +config ARCH_ARM_INTERWORKING + bool + prompt "Use Thumb-interworking (READ HELP)" + default n + depends on EXPERIMENTAL + help + Excerpt from the gcc manual: + + > Generate code which supports calling between the ARM and Thumb + > instruction sets. Without this option the two instruction sets + > cannot be reliably used inside one program. The default is + > [not to use interwork], since slightly larger code is generated + > when [interwork] is specified. + config ARCH_ARM_EABI bool prompt "Use EABI" diff --git a/scripts/build/arch/arm.sh b/scripts/build/arch/arm.sh index 961253f6..e049696f 100644 --- a/scripts/build/arch/arm.sh +++ b/scripts/build/arch/arm.sh @@ -20,4 +20,8 @@ CT_DoArchTupleValues() { # CT_ARCH_TARGET_CFLAGS="-mthumb" ;; esac + + if [ "${CT_ARCH_ARM_INTERWORKING}" = "y" ]; then + CT_ARCH_TARGET_CFLAGS+=" -mthumb-interwork" + fi } |