# HG changeset patch # User "Yann E. MORIN" # Date 1256595070 -3600 # Node ID fa8f3ab724f9628c2e6ef94f174c6f0ab72828f4 # Parent ca1bf632da51358a7beb966f0caa1a6275ca8a39 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 -r ca1bf632da51 -r fa8f3ab724f9 config/arch/arm.in --- a/config/arch/arm.in Mon Oct 26 09:10:38 2009 +0100 +++ b/config/arch/arm.in Mon Oct 26 23:11:10 2009 +0100 @@ -38,6 +38,20 @@ 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 -r ca1bf632da51 -r fa8f3ab724f9 scripts/build/arch/arm.sh --- a/scripts/build/arch/arm.sh Mon Oct 26 09:10:38 2009 +0100 +++ b/scripts/build/arch/arm.sh Mon Oct 26 23:11:10 2009 +0100 @@ -20,4 +20,8 @@ # CT_ARCH_TARGET_CFLAGS="-mthumb" ;; esac + + if [ "${CT_ARCH_ARM_INTERWORKING}" = "y" ]; then + CT_ARCH_TARGET_CFLAGS+=" -mthumb-interwork" + fi }