aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/uclibc/uclibc-git/select-force-thumb.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/uclibc/uclibc-git/select-force-thumb.patch')
-rwxr-xr-xrecipes/uclibc/uclibc-git/select-force-thumb.patch172
1 files changed, 172 insertions, 0 deletions
diff --git a/recipes/uclibc/uclibc-git/select-force-thumb.patch b/recipes/uclibc/uclibc-git/select-force-thumb.patch
new file mode 100755
index 0000000000..b19408f1b2
--- /dev/null
+++ b/recipes/uclibc/uclibc-git/select-force-thumb.patch
@@ -0,0 +1,172 @@
+Delivered-To: raj.khem@gmail.com
+Received: by 10.90.86.4 with SMTP id j4cs313301agb;
+ Sat, 8 Jan 2011 16:45:17 -0800 (PST)
+Received: by 10.216.186.82 with SMTP id v60mr20017574wem.56.1294533916559;
+ Sat, 08 Jan 2011 16:45:16 -0800 (PST)
+Return-Path: <yann.morin.1998@anciens.enib.fr>
+Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])
+ by mx.google.com with ESMTP id o13si33755824wee.56.2011.01.08.16.45.16;
+ Sat, 08 Jan 2011 16:45:16 -0800 (PST)
+Received-SPF: neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) client-ip=80.12.242.123;
+Authentication-Results: mx.google.com; spf=neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) smtp.mail=yann.morin.1998@anciens.enib.fr
+Received: from roazhon.bzh.lan ([90.32.245.227])
+ by mwinf5d24 with ME
+ id tClC1f0024v5z3u03ClFDL; Sun, 09 Jan 2011 01:45:16 +0100
+From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
+To: uclibc@uclibc.org
+Cc: Khem Raj <raj.khem@gmail.com>,
+ Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,
+ Carmelo AMOROSO <carmelo.amoroso@st.com>
+Subject: [PATCH 2/7] ARM: introduce blind options to select & force THUMB mode
+Date: Sun, 9 Jan 2011 01:45:05 +0100
+Message-Id: <1294533910-19305-3-git-send-email-yann.morin.1998@anciens.enib.fr>
+X-Mailer: git-send-email 1.7.1
+In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
+References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
+
+Add three new blind options to set use of Thumb mode:
+- COMPILE_IN_THUMB_MODE
+ - if set, CFLAGS will contain -mthumb
+ - if unset, the compiler's default is used
+- HAS_THUMB
+ - CPUS with Thumb instruction set can select this
+ - use of BX depends on this
+- FORCE_THUMB
+ - CPUs that are Thumb-only must select this
+ - this selects: HAS_THUMB, COMPILE_IN_THUMB_MODE and USE_BX
+
+Also, remove leading space in Rules.mak.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
+Cc: Khem Raj <raj.khem@gmail.com>
+Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
+---
+ Rules.mak | 7 ++++---
+ extra/Configs/Config.arm | 31 ++++++++++++++++++++++++++++---
+ 2 files changed, 32 insertions(+), 6 deletions(-)
+
+diff --git a/Rules.mak b/Rules.mak
+index eecdc64..2a16908 100644
+--- a/Rules.mak
++++ b/Rules.mak
+@@ -348,9 +348,10 @@ ifeq ($(TARGET_ARCH),arm)
+ CPU_CFLAGS-$(CONFIG_ARM_SA1100)+=-mtune=strongarm1100 -march=armv4
+ CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=$(call check_gcc,-mtune=xscale,-mtune=strongarm110)
+ CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=-march=armv5te -Wa,-mcpu=xscale
+- CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt
+- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3 -mthumb
+- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1 -mthumb
++ CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt
++ CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3
++ CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1
++ CPU_CFLAGS-$(COMPILE_IN_THUMB_MODE)+=-mthumb
+ endif
+
+ ifeq ($(TARGET_ARCH),mips)
+diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
+index 3b90e67..c9c40d4 100644
+--- a/extra/Configs/Config.arm
++++ b/extra/Configs/Config.arm
+@@ -64,70 +64,95 @@ config CONFIG_ARM710
+ config CONFIG_ARM7TDMI
+ bool "Arm 7TDMI"
+ select ARCH_HAS_NO_MMU
++ select HAS_THUMB
+
+ config CONFIG_ARM720T
+ bool "Arm 720T"
+ select ARCH_HAS_MMU
++ select HAS_THUMB
+
+ config CONFIG_ARM920T
+ bool "Arm 920T"
+ select ARCH_HAS_MMU
++ select HAS_THUMB
+
+ config CONFIG_ARM922T
+ bool "Arm 922T"
+ select ARCH_HAS_MMU
++ select HAS_THUMB
+
+ config CONFIG_ARM926T
+ bool "Arm 926T"
+ select ARCH_HAS_MMU
++ select HAS_THUMB
+
+ config CONFIG_ARM10T
+ bool "Arm 10T"
+ select ARCH_HAS_MMU
++ select HAS_THUMB
+
+ config CONFIG_ARM1136JF_S
+ bool "Arm 1136JF-S"
+ select ARCH_HAS_MMU
++ select HAS_THUMB
+
+ config CONFIG_ARM1176JZ_S
+ bool "Arm 1176JZ-S"
+ select ARCH_HAS_MMU
++ select HAS_THUMB
+
+ config CONFIG_ARM1176JZF_S
+ bool "Arm 1176JZF-S"
+ select ARCH_HAS_MMU
++ select HAS_THUMB
+
+ config CONFIG_ARM_CORTEX_M3
+ bool "Arm Cortex-M3"
+ select ARCH_HAS_NO_MMU
+- select USE_BX
++ select FORCE_THUMB
+
+ config CONFIG_ARM_CORTEX_M1
+ bool "Arm Cortex-M1"
+ select ARCH_HAS_NO_MMU
+- select USE_BX
++ select FORCE_THUMB
+
+ config CONFIG_ARM_SA110
+ bool "Intel StrongArm SA-110"
+ select ARCH_HAS_MMU
++ select HAS_THUMB
+
+ config CONFIG_ARM_SA1100
+ bool "Intel StrongArm SA-1100"
+ select ARCH_HAS_MMU
++ select HAS_THUMB
+
+ config CONFIG_ARM_XSCALE
+ bool "Intel Xscale"
+ select ARCH_HAS_MMU
++ select HAS_THUMB
+
+ config CONFIG_ARM_IWMMXT
+ bool "Intel Xscale With WMMX PXA27x"
+ select ARCH_HAS_MMU
++ select HAS_THUMB
+
+ endchoice
+
++config HAS_THUMB
++ bool
++
++config FORCE_THUMB
++ bool
++ select HAS_THUMB
++ select COMPILE_IN_THUMB_MODE
++ select USE_BX
++
++config COMPILE_IN_THUMB_MODE
++ bool
++
+ config USE_BX
+ bool "Use BX in function return"
+ default y
+- depends on !CONFIG_GENERIC_ARM && !CONFIG_ARM610 && !CONFIG_ARM710
++ depends on HAS_THUMB
+ help
+ Use BX instruction for THUMB aware architectures.
+--
+1.7.1
+