4f71186514529940b500684213a5f36e156fc60d
[openwrt/staging/chunkeey.git] / toolchain / uClibc / patches-0.9.32 / 920-remove_sub-arch_variants.patch
1 Rely on the compiler to be correctly set up to generate
2 appropriate code for the target variant.
3
4 This exposes the Thumb option, as it is no longer auto-selected.
5 The "Use BX" no longer depends on supported CPU to be selected,
6 so it now defaults to 'n' as it shall work by default on CPUs
7 that do not have BX.
8
9 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
10 Cc: Khem Raj <raj.khem@gmail.com>
11 Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
12 Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
13 ---
14 Rules.mak | 19 -------
15 extra/Configs/Config.arm | 125 ++--------------------------------------------
16 2 files changed, 5 insertions(+), 139 deletions(-)
17
18 --- a/Rules.mak
19 +++ b/Rules.mak
20 @@ -332,25 +332,6 @@ ifeq ($(TARGET_ARCH),arm)
21 OPTIMIZATION+=-fstrict-aliasing
22 CPU_CFLAGS-$(ARCH_LITTLE_ENDIAN)+=-mlittle-endian
23 CPU_CFLAGS-$(ARCH_BIG_ENDIAN)+=-mbig-endian
24 - CPU_CFLAGS-$(CONFIG_GENERIC_ARM)+=
25 - CPU_CFLAGS-$(CONFIG_ARM610)+=-mtune=arm610 -march=armv3
26 - CPU_CFLAGS-$(CONFIG_ARM710)+=-mtune=arm710 -march=armv3
27 - CPU_CFLAGS-$(CONFIG_ARM7TDMI)+=-mtune=arm7tdmi -march=armv4t
28 - CPU_CFLAGS-$(CONFIG_ARM720T)+=-mtune=arm7tdmi -march=armv4t
29 - CPU_CFLAGS-$(CONFIG_ARM920T)+=-mtune=arm9tdmi -march=armv4t
30 - CPU_CFLAGS-$(CONFIG_ARM922T)+=-mtune=arm9tdmi -march=armv4t
31 - CPU_CFLAGS-$(CONFIG_ARM926T)+=-mtune=arm9e -march=armv5te
32 - CPU_CFLAGS-$(CONFIG_ARM10T)+=-mtune=arm10tdmi -march=armv5t
33 - CPU_CFLAGS-$(CONFIG_ARM1136JF_S)+=-mtune=arm1136jf-s -march=armv6
34 - CPU_CFLAGS-$(CONFIG_ARM1176JZ_S)+=-mtune=arm1176jz-s -march=armv6
35 - CPU_CFLAGS-$(CONFIG_ARM1176JZF_S)+=-mtune=arm1176jzf-s -march=armv6
36 - CPU_CFLAGS-$(CONFIG_ARM_SA110)+=-mtune=strongarm110 -march=armv4
37 - CPU_CFLAGS-$(CONFIG_ARM_SA1100)+=-mtune=strongarm1100 -march=armv4
38 - CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=$(call check_gcc,-mtune=xscale,-mtune=strongarm110)
39 - CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=-march=armv5te -Wa,-mcpu=xscale
40 - CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt
41 - CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3
42 - CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1
43 CPU_CFLAGS-$(COMPILE_IN_THUMB_MODE)+=-mthumb
44 endif
45
46 --- a/extra/Configs/Config.arm
47 +++ b/extra/Configs/Config.arm
48 @@ -30,129 +30,14 @@ config CONFIG_ARM_EABI
49
50 endchoice
51
52 -choice
53 - prompt "Target Processor Type"
54 - default CONFIG_GENERIC_ARM
55 - help
56 - This is the processor type of your CPU. This information is used for
57 - optimizing purposes. To build a library that will run on all ARMCPU
58 - types (albeit not optimally fast), you can specify "Generic Arm" here.
59 - If you pick anything other than "Generic Arm", there is no guarantee
60 - that uClibc will even run on anything other than the selected
61 - processor type.
62 -
63 - Here are the settings recommended for greatest speed:
64 - - "Generic Arm" select this if your compiler is already setup to
65 - optimize things properly, or if you want to run on pretty much
66 - everything, or you just don't much care.
67 - - For anything else, pick the ARM core type that best matches the
68 - cpu you will be using on your device.
69 -
70 - If you don't know what to do, choose "Generic Arm".
71 -
72 -config CONFIG_GENERIC_ARM
73 - bool "Generic Arm"
74 -
75 -config CONFIG_ARM610
76 - bool "Arm 610"
77 - select ARCH_HAS_MMU
78 -
79 -config CONFIG_ARM710
80 - bool "Arm 710"
81 - select ARCH_HAS_MMU
82 -
83 -config CONFIG_ARM7TDMI
84 - bool "Arm 7TDMI"
85 - select ARCH_HAS_NO_MMU
86 - select HAS_THUMB
87 -
88 -config CONFIG_ARM720T
89 - bool "Arm 720T"
90 - select ARCH_HAS_MMU
91 - select HAS_THUMB
92 -
93 -config CONFIG_ARM920T
94 - bool "Arm 920T"
95 - select ARCH_HAS_MMU
96 - select HAS_THUMB
97 -
98 -config CONFIG_ARM922T
99 - bool "Arm 922T"
100 - select ARCH_HAS_MMU
101 - select HAS_THUMB
102 -
103 -config CONFIG_ARM926T
104 - bool "Arm 926T"
105 - select ARCH_HAS_MMU
106 - select HAS_THUMB
107 -
108 -config CONFIG_ARM10T
109 - bool "Arm 10T"
110 - select ARCH_HAS_MMU
111 - select HAS_THUMB
112 -
113 -config CONFIG_ARM1136JF_S
114 - bool "Arm 1136JF-S"
115 - select ARCH_HAS_MMU
116 - select HAS_THUMB
117 -
118 -config CONFIG_ARM1176JZ_S
119 - bool "Arm 1176JZ-S"
120 - select ARCH_HAS_MMU
121 - select HAS_THUMB
122 -
123 -config CONFIG_ARM1176JZF_S
124 - bool "Arm 1176JZF-S"
125 - select ARCH_HAS_MMU
126 - select HAS_THUMB
127 -
128 -config CONFIG_ARM_CORTEX_M3
129 - bool "Arm Cortex-M3"
130 - select ARCH_HAS_NO_MMU
131 - select FORCE_THUMB
132 -
133 -config CONFIG_ARM_CORTEX_M1
134 - bool "Arm Cortex-M1"
135 - select ARCH_HAS_NO_MMU
136 - select FORCE_THUMB
137 -
138 -config CONFIG_ARM_SA110
139 - bool "Intel StrongArm SA-110"
140 - select ARCH_HAS_MMU
141 - select HAS_THUMB
142 -
143 -config CONFIG_ARM_SA1100
144 - bool "Intel StrongArm SA-1100"
145 - select ARCH_HAS_MMU
146 - select HAS_THUMB
147 -
148 -config CONFIG_ARM_XSCALE
149 - bool "Intel Xscale"
150 - select ARCH_HAS_MMU
151 - select HAS_THUMB
152 -
153 -config CONFIG_ARM_IWMMXT
154 - bool "Intel Xscale With WMMX PXA27x"
155 - select ARCH_HAS_MMU
156 - select HAS_THUMB
157 -
158 -endchoice
159 -
160 -config HAS_THUMB
161 - bool
162 -
163 -config FORCE_THUMB
164 - bool
165 - select HAS_THUMB
166 - select COMPILE_IN_THUMB_MODE
167 - select USE_BX
168 -
169 config COMPILE_IN_THUMB_MODE
170 - bool
171 + bool "Build using Thumb mode"
172 + select USE_BX
173 + help
174 + Say 'y' here to force building uClibc in thumb mode.
175 + Say 'n' to use your compiler's default mode.
176
177 config USE_BX
178 bool "Use BX in function return"
179 - default y
180 - depends on HAS_THUMB
181 help
182 Use BX instruction for THUMB aware architectures.