diff options
-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 } |