diff options
Diffstat (limited to 'meta/recipes-core/uclibc/uclibc-git/select-force-thumb.patch')
-rw-r--r-- | meta/recipes-core/uclibc/uclibc-git/select-force-thumb.patch | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/meta/recipes-core/uclibc/uclibc-git/select-force-thumb.patch b/meta/recipes-core/uclibc/uclibc-git/select-force-thumb.patch new file mode 100644 index 0000000000..7967794a42 --- /dev/null +++ b/meta/recipes-core/uclibc/uclibc-git/select-force-thumb.patch | |||
@@ -0,0 +1,172 @@ | |||
1 | Delivered-To: raj.khem@gmail.com | ||
2 | Received: by 10.90.86.4 with SMTP id j4cs313301agb; | ||
3 | Sat, 8 Jan 2011 16:45:17 -0800 (PST) | ||
4 | Received: by 10.216.186.82 with SMTP id v60mr20017574wem.56.1294533916559; | ||
5 | Sat, 08 Jan 2011 16:45:16 -0800 (PST) | ||
6 | Return-Path: <yann.morin.1998@anciens.enib.fr> | ||
7 | Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123]) | ||
8 | by mx.google.com with ESMTP id o13si33755824wee.56.2011.01.08.16.45.16; | ||
9 | Sat, 08 Jan 2011 16:45:16 -0800 (PST) | ||
10 | 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; | ||
11 | 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 | ||
12 | Received: from roazhon.bzh.lan ([90.32.245.227]) | ||
13 | by mwinf5d24 with ME | ||
14 | id tClC1f0024v5z3u03ClFDL; Sun, 09 Jan 2011 01:45:16 +0100 | ||
15 | From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | ||
16 | To: uclibc@uclibc.org | ||
17 | Cc: Khem Raj <raj.khem@gmail.com>, | ||
18 | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>, | ||
19 | Carmelo AMOROSO <carmelo.amoroso@st.com> | ||
20 | Subject: [PATCH 2/7] ARM: introduce blind options to select & force THUMB mode | ||
21 | Date: Sun, 9 Jan 2011 01:45:05 +0100 | ||
22 | Message-Id: <1294533910-19305-3-git-send-email-yann.morin.1998@anciens.enib.fr> | ||
23 | X-Mailer: git-send-email 1.7.1 | ||
24 | In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr> | ||
25 | References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr> | ||
26 | |||
27 | Add three new blind options to set use of Thumb mode: | ||
28 | - COMPILE_IN_THUMB_MODE | ||
29 | - if set, CFLAGS will contain -mthumb | ||
30 | - if unset, the compiler's default is used | ||
31 | - HAS_THUMB | ||
32 | - CPUS with Thumb instruction set can select this | ||
33 | - use of BX depends on this | ||
34 | - FORCE_THUMB | ||
35 | - CPUs that are Thumb-only must select this | ||
36 | - this selects: HAS_THUMB, COMPILE_IN_THUMB_MODE and USE_BX | ||
37 | |||
38 | Also, remove leading space in Rules.mak. | ||
39 | |||
40 | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | ||
41 | Cc: Khem Raj <raj.khem@gmail.com> | ||
42 | Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | ||
43 | Cc: Carmelo AMOROSO <carmelo.amoroso@st.com> | ||
44 | --- | ||
45 | Rules.mak | 7 ++++--- | ||
46 | extra/Configs/Config.arm | 31 ++++++++++++++++++++++++++++--- | ||
47 | 2 files changed, 32 insertions(+), 6 deletions(-) | ||
48 | |||
49 | diff --git a/Rules.mak b/Rules.mak | ||
50 | index eecdc64..2a16908 100644 | ||
51 | --- a/Rules.mak | ||
52 | +++ b/Rules.mak | ||
53 | @@ -348,9 +348,10 @@ ifeq ($(TARGET_ARCH),arm) | ||
54 | CPU_CFLAGS-$(CONFIG_ARM_SA1100)+=-mtune=strongarm1100 -march=armv4 | ||
55 | CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=$(call check_gcc,-mtune=xscale,-mtune=strongarm110) | ||
56 | CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=-march=armv5te -Wa,-mcpu=xscale | ||
57 | - CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt | ||
58 | - CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3 -mthumb | ||
59 | - CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1 -mthumb | ||
60 | + CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt | ||
61 | + CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3 | ||
62 | + CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1 | ||
63 | + CPU_CFLAGS-$(COMPILE_IN_THUMB_MODE)+=-mthumb | ||
64 | endif | ||
65 | |||
66 | ifeq ($(TARGET_ARCH),mips) | ||
67 | diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm | ||
68 | index 3b90e67..c9c40d4 100644 | ||
69 | --- a/extra/Configs/Config.arm | ||
70 | +++ b/extra/Configs/Config.arm | ||
71 | @@ -64,70 +64,95 @@ config CONFIG_ARM710 | ||
72 | config CONFIG_ARM7TDMI | ||
73 | bool "Arm 7TDMI" | ||
74 | select ARCH_HAS_NO_MMU | ||
75 | + select HAS_THUMB | ||
76 | |||
77 | config CONFIG_ARM720T | ||
78 | bool "Arm 720T" | ||
79 | select ARCH_HAS_MMU | ||
80 | + select HAS_THUMB | ||
81 | |||
82 | config CONFIG_ARM920T | ||
83 | bool "Arm 920T" | ||
84 | select ARCH_HAS_MMU | ||
85 | + select HAS_THUMB | ||
86 | |||
87 | config CONFIG_ARM922T | ||
88 | bool "Arm 922T" | ||
89 | select ARCH_HAS_MMU | ||
90 | + select HAS_THUMB | ||
91 | |||
92 | config CONFIG_ARM926T | ||
93 | bool "Arm 926T" | ||
94 | select ARCH_HAS_MMU | ||
95 | + select HAS_THUMB | ||
96 | |||
97 | config CONFIG_ARM10T | ||
98 | bool "Arm 10T" | ||
99 | select ARCH_HAS_MMU | ||
100 | + select HAS_THUMB | ||
101 | |||
102 | config CONFIG_ARM1136JF_S | ||
103 | bool "Arm 1136JF-S" | ||
104 | select ARCH_HAS_MMU | ||
105 | + select HAS_THUMB | ||
106 | |||
107 | config CONFIG_ARM1176JZ_S | ||
108 | bool "Arm 1176JZ-S" | ||
109 | select ARCH_HAS_MMU | ||
110 | + select HAS_THUMB | ||
111 | |||
112 | config CONFIG_ARM1176JZF_S | ||
113 | bool "Arm 1176JZF-S" | ||
114 | select ARCH_HAS_MMU | ||
115 | + select HAS_THUMB | ||
116 | |||
117 | config CONFIG_ARM_CORTEX_M3 | ||
118 | bool "Arm Cortex-M3" | ||
119 | select ARCH_HAS_NO_MMU | ||
120 | - select USE_BX | ||
121 | + select FORCE_THUMB | ||
122 | |||
123 | config CONFIG_ARM_CORTEX_M1 | ||
124 | bool "Arm Cortex-M1" | ||
125 | select ARCH_HAS_NO_MMU | ||
126 | - select USE_BX | ||
127 | + select FORCE_THUMB | ||
128 | |||
129 | config CONFIG_ARM_SA110 | ||
130 | bool "Intel StrongArm SA-110" | ||
131 | select ARCH_HAS_MMU | ||
132 | + select HAS_THUMB | ||
133 | |||
134 | config CONFIG_ARM_SA1100 | ||
135 | bool "Intel StrongArm SA-1100" | ||
136 | select ARCH_HAS_MMU | ||
137 | + select HAS_THUMB | ||
138 | |||
139 | config CONFIG_ARM_XSCALE | ||
140 | bool "Intel Xscale" | ||
141 | select ARCH_HAS_MMU | ||
142 | + select HAS_THUMB | ||
143 | |||
144 | config CONFIG_ARM_IWMMXT | ||
145 | bool "Intel Xscale With WMMX PXA27x" | ||
146 | select ARCH_HAS_MMU | ||
147 | + select HAS_THUMB | ||
148 | |||
149 | endchoice | ||
150 | |||
151 | +config HAS_THUMB | ||
152 | + bool | ||
153 | + | ||
154 | +config FORCE_THUMB | ||
155 | + bool | ||
156 | + select HAS_THUMB | ||
157 | + select COMPILE_IN_THUMB_MODE | ||
158 | + select USE_BX | ||
159 | + | ||
160 | +config COMPILE_IN_THUMB_MODE | ||
161 | + bool | ||
162 | + | ||
163 | config USE_BX | ||
164 | bool "Use BX in function return" | ||
165 | default y | ||
166 | - depends on !CONFIG_GENERIC_ARM && !CONFIG_ARM610 && !CONFIG_ARM710 | ||
167 | + depends on HAS_THUMB | ||
168 | help | ||
169 | Use BX instruction for THUMB aware architectures. | ||
170 | -- | ||
171 | 1.7.1 | ||
172 | |||