From c916a69abf35495e4ad0bd2d4d35cb987bf1783a Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Mon, 26 Oct 2009 23:11:10 +0100 Subject: 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. diff --git a/config/arch/arm.in b/config/arch/arm.in index 4dc2eaf..6daa603 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 961253f..e049696 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 } -- cgit v0.10.2-6-g49f6