blob: c1313339845b2efc118ab4d39b0c24bc5d172e54 [file] [log] [blame]
Andrew Geissler84ad7c52020-06-27 00:00:16 -05001require conf/multilib.conf
2require conf/machine/include/tune-cortexrm.inc
3require conf/machine/include/baremetal-tc.conf
4
5# Define all of the multilibs supproted by this configuration
6MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
7
8MULTILIBS = "multilib:libarmv5tesoftfp multilib:libarmv5tehard"
9MULTILIBS += "multilib:libnofp"
10MULTILIBS += "multilib:libv7nofp multilib:libv7fpsoftfp multilib:libv7fphard"
11MULTILIBS += "multilib:libv6mnofp"
12MULTILIBS += "multilib:libv7mnofp"
13MULTILIBS += "multilib:libv7emnofp multilib:libv7emfpsoftfp"
14MULTILIBS += "multilib:libv7emfphard multilib:libv7emdpsoftfp"
15MULTILIBS += "multilib:libv7emdphard"
16MULTILIBS += "multilib:libv8mbasenofp"
17MULTILIBS += "multilib:libv8mmainnofp multilib:libv8mmainfpsoftfp multilib:libv8mmainfphard multilib:libv8mmaindpsoftfp multilib:libv8mmaindphard"
18
19TUNE_CCARGS = "${TUNE_CCARGS_tune-${DEFAULTTUNE}}"
20TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
21
22# Base configuration
23# CFLAGS:
24DEFAULTTUNE = "armrm"
25
26AVAILTUNES += "armrm"
27PACKAGE_EXTRA_ARCHS_tune-armrm = "${TUNE_PKGARCH_tune-armrm}"
28BASE_LIB_tune-armrm = "lib"
29TUNE_FEATURES_tune-armrm = "arm armrm"
30TUNE_CCARGS_tune-armrm = ""
31TUNE_PKGARCH_tune-armrm = "armrm"
32
33
34# arm/v5te/softfp
35# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=softfp
36DEFAULTTUNE_virtclass-multilib-libarmv5tesoftfp = "armv5tesoftfp"
37
38AVAILTUNES += "armv5tesoftfp"
39PACKAGE_EXTRA_ARCHS_tune-armv5tesoftfp = "${TUNE_PKGARCH_tune-armv5tesoftfp}"
40BASE_LIB_tune-armv5tesoftfp = "lib/arm/v5te/softfp"
41TUNE_FEATURES_tune-armv5tesoftfp = "arm armrm"
42TUNE_CCARGS_tune-armv5tesoftfp = "-marm -march=armv5te+fp -mfloat-abi=softfp"
43TUNE_PKGARCH_tune-armv5tesoftfp = "armv5tefp"
44
45
46# arm/v5te/hard
47# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=hard
48DEFAULTTUNE_virtclass-multilib-libarmv5tehard = "armv5tehard"
49
50AVAILTUNES += "armv5tehard"
51PACKAGE_EXTRA_ARCHS_tune-armv5tehard = "${TUNE_PKGARCH_tune-armv5tehard}"
52BASE_LIB_tune-armv5tehard = "lib/arm/v5te/hard"
53TUNE_FEATURES_tune-armv5tehard = "arm armrm"
54TUNE_CCARGS_tune-armv5tehard = "-marm -march=armv5te+fp -mfloat-abi=hard"
55TUNE_PKGARCH_tune-armv5tehard = "armv5tefphf"
56
57
58# thumb/nofp
59# CFLAGS: -mthumb -mfloat-abi=soft
60DEFAULTTUNE_virtclass-multilib-libnofp = "armnofp"
61
62AVAILTUNES += "armnofp"
63PACKAGE_EXTRA_ARCHS_tune-armnofp = "${TUNE_PKGARCH_tune-armnofp}"
64BASE_LIB_tune-armnofp = "lib/thumb/nofp"
65TUNE_FEATURES_tune-armnofp = "arm armrm"
66TUNE_CCARGS_tune-armnofp = "-mthumb -mfloat-abi=soft"
67TUNE_PKGARCH_tune-armnofp = "armt"
68
69
70# thumb/v7/nofp
71# CFLAGS: -mthumb -march=armv7 -mfloat-abi=soft
72DEFAULTTUNE_virtclass-multilib-libv7nofp = "armv7nofp"
73
74AVAILTUNES += "armv7nofp"
75PACKAGE_EXTRA_ARCHS_tune-armv7nofp = "${TUNE_PKGARCH_tune-armv7nofp}"
76BASE_LIB_tune-armv7nofp = "lib/thumb/v7/nofp"
77TUNE_FEATURES_tune-armv7nofp ="arm armrm"
78TUNE_CCARGS_tune-armv7nofp = "-mthumb -march=armv7 -mfloat-abi=soft"
79TUNE_PKGARCH_tune-armv7nofp = "armv7t"
80
81
82# thumb/v7+fp/softfp
83# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=softfp
84DEFAULTTUNE_virtclass-multilib-libv7fpsoftfp = "armv7fpsoftfp"
85
86AVAILTUNES += "armv7fpsoftfp"
87PACKAGE_EXTRA_ARCHS_tune-armv7fpsoftfp = "${TUNE_PKGARCH_tune-armv7fpsoftfp}"
88BASE_LIB_tune-armv7fpsoftfp = "lib/thumb/v7+fp/softfp"
89TUNE_FEATURES_tune-armv7fpsoftfp ="arm armrm"
90TUNE_CCARGS_tune-armv7fpsoftfp = "-mthumb -march=armv7+fp -mfloat-abi=softfp"
91TUNE_PKGARCH_tune-armv7fpsoftfp = "armv7fpt"
92
93
94# thumb/v7+fp/hard
95# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=hard
96DEFAULTTUNE_virtclass-multilib-libv7fphard = "armv7fphard"
97
98AVAILTUNES += "armv7fphard"
99PACKAGE_EXTRA_ARCHS_tune-armv7fphard = "${TUNE_PKGARCH_tune-armv7fphard}"
100BASE_LIB_tune-armv7fphard = "lib/thumb/v7+fp/hard"
101TUNE_FEATURES_tune-armv7fphard ="arm armrm"
102TUNE_CCARGS_tune-armv7fphard = "-mthumb -march=armv7+fp -mfloat-abi=hard"
103TUNE_PKGARCH_tune-armv7fphard = "armv7fpthf"
104
105
106# thumb/v6-m/nofp
107# CFLAGS: -mthumb -march=armv6s-m -mfloat-abi=soft
108DEFAULTTUNE_virtclass-multilib-libv6mnofp = "armv6mnofp"
109
110# Workaround for this multilib in newlib
111# newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip
112EXTRA_OECONF_append_pn-libv6mnofp-newlib = " --disable-newlib-supplied-syscalls"
113
114AVAILTUNES += "armv6mnofp"
115PACKAGE_EXTRA_ARCHS_tune-armv6mnofp = "${TUNE_PKGARCH_tune-armv6mnofp}"
116BASE_LIB_tune-armv6mnofp = "lib/thumb/v6-m/nofp"
117TUNE_FEATURES_tune-armv6mnofp ="arm armrm"
118TUNE_CCARGS_tune-armv6mnofp = "-mthumb -march=armv6s-m -mfloat-abi=soft"
119TUNE_PKGARCH_tune-armv6mnofp = "armv6smt"
120
121
122# thumb/v7-m/nofp
123# CFLAGS: -mthumb -march=armv7-m -mfloat-abi=soft
124DEFAULTTUNE_virtclass-multilib-libv7mnofp = "armv7mnofp"
125
126AVAILTUNES += "armv7mnofp"
127PACKAGE_EXTRA_ARCHS_tune-armv7mnofp = "${TUNE_PKGARCH_tune-armv7mnofp}"
128BASE_LIB_tune-armv7mnofp = "lib/thumb/v7-m/nofp"
129TUNE_FEATURES_tune-armv7mnofp ="arm armrm"
130TUNE_CCARGS_tune-armv7mnofp = "-mthumb -march=armv7-m -mfloat-abi=soft"
131TUNE_PKGARCH_tune-armv7mnofp = "armv7mt"
132
133
134# thumb/v7e-m/nofp
135# CFLAGS: -mthumb -march=armv7e-m -mfloat-abi=soft
136DEFAULTTUNE_virtclass-multilib-libv7emnofp = "armv7emnofp"
137
138AVAILTUNES += "armv7emnofp"
139PACKAGE_EXTRA_ARCHS_tune-armv7emnofp = "${TUNE_PKGARCH_tune-armv7emnofp}"
140BASE_LIB_tune-armv7emnofp = "lib/thumb/v7e-m/nofp"
141TUNE_FEATURES_tune-armv7emnofp ="arm armrm"
142TUNE_CCARGS_tune-armv7emnofp = "-mthumb -march=armv7e-m -mfloat-abi=soft"
143TUNE_PKGARCH_tune-armv7emnofp = "armv7emt"
144
145
146# thumb/v7e-m+fp/softfp
147# CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=softfp
148DEFAULTTUNE_virtclass-multilib-libv7emfpsoftfp = "armv7emfpsoftfp"
149
150AVAILTUNES += "armv7emfpsoftfp"
151PACKAGE_EXTRA_ARCHS_tune-armv7emfpsoftfp = "${TUNE_PKGARCH_tune-armv7emfpsoftfp}"
152BASE_LIB_tune-armv7emfpsoftfp = "lib/thumb/v7e-m+fp/softfp"
153TUNE_FEATURES_tune-armv7emfpsoftfp ="arm armrm"
154TUNE_CCARGS_tune-armv7emfpsoftfp = "-mthumb -march=armv7e-m+fp -mfloat-abi=softfp"
155TUNE_PKGARCH_tune-armv7emfpsoftfp = "armv7emfpt"
156
157
158# thumb/v7e-m+fp/hard
159# CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=hard
160DEFAULTTUNE_virtclass-multilib-libv7emfphard = "armv7emfphard"
161
162AVAILTUNES += "armv7emfphard"
163PACKAGE_EXTRA_ARCHS_tune-armv7emfphard = "${TUNE_PKGARCH_tune-armv7emfphard}"
164BASE_LIB_tune-armv7emfphard = "lib/thumb/v7e-m+fp/hard"
165TUNE_FEATURES_tune-armv7emfphard ="arm armrm"
166TUNE_CCARGS_tune-armv7emfphard = "-mthumb -march=armv7e-m+fp -mfloat-abi=hard"
167TUNE_PKGARCH_tune-armv7emfphard = "armv7emfpthf"
168
169
170# thumb/v7e-m+dp/softfp
171# CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp
172DEFAULTTUNE_virtclass-multilib-libv7emdpsoftfp = "armv7emdpsoftfp"
173
174AVAILTUNES += "armv7emdpsoftfp"
175PACKAGE_EXTRA_ARCHS_tune-armv7emdpsoftfp = "${TUNE_PKGARCH_tune-armv7emdpsoftfp}"
176BASE_LIB_tune-armv7emdpsoftfp = "lib/thumb/v7e-m+dp/softfp"
177TUNE_FEATURES_tune-armv7emdpsoftfp ="arm armrm"
178TUNE_CCARGS_tune-armv7emdpsoftfp = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp"
179TUNE_PKGARCH_tune-armv7emdpsoftfp = "armv7emdp"
180
181# thumb/v7e-m+dp/hard
182# CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard
183DEFAULTTUNE_virtclass-multilib-libv7emdphard = "armv7emdphard"
184
185AVAILTUNES += "armv7emdphard"
186PACKAGE_EXTRA_ARCHS_tune-armv7emdphard = "${TUNE_PKGARCH_tune-armv7emdphard}"
187BASE_LIB_tune-armv7emdphard = "lib/thumb/v7e-m+dp/hard"
188TUNE_FEATURES_tune-armv7emdphard ="arm armrm"
189TUNE_CCARGS_tune-armv7emdphard = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard"
190TUNE_PKGARCH_tune-armv7emdphard = "armv7emdpthf"
191
192
193# thumb/v8-m.base/nofp
194# CFLAGS: -mthumb -march=armv8-m.base -mfloat-abi=soft
195DEFAULTTUNE_virtclass-multilib-libv8mbasenofp = "armv8mbasenofp"
196
197# Workaround for this multilib in newlib
198# newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip'
199EXTRA_OECONF_append_pn-libv8mbasenofp-newlib = " --disable-newlib-supplied-syscalls"
200
201AVAILTUNES += "armv8mbasenofp"
202PACKAGE_EXTRA_ARCHS_tune-armv8mbasenofp = "${TUNE_PKGARCH_tune-armv8mbasenofp}"
203BASE_LIB_tune-armv8mbasenofp = "lib/thumb/v8-m.base/nofp"
204TUNE_FEATURES_tune-armv8mbasenofp ="arm armrm"
205TUNE_CCARGS_tune-armv8mbasenofp = "-mthumb -march=armv8-m.base -mfloat-abi=soft"
206TUNE_PKGARCH_tune-armv8mbasenofp = "armv8mbaset"
207
208# thumb/v8-m.main/nofp
209# CFLAGS: -mthumb -march=armv8-m.main -mfloat-abi=soft
210DEFAULTTUNE_virtclass-multilib-libv8mmainnofp = "armv8mmainnofp"
211
212AVAILTUNES += "armv8mmainnofp"
213PACKAGE_EXTRA_ARCHS_tune-armv8mmainnofp = "${TUNE_PKGARCH_tune-armv8mmainnofp}"
214BASE_LIB_tune-armv8mmainnofp = "lib/thumb/v8-m.main/nofp"
215TUNE_FEATURES_tune-armv8mmainnofp ="arm armrm"
216TUNE_CCARGS_tune-armv8mmainnofp = "-mthumb -march=armv8-m.main -mfloat-abi=soft"
217TUNE_PKGARCH_tune-armv8mmainnofp = "armv8mmaint"
218
219
220# thumb/v8-m.main+fp/softfp
221# CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=softfp
222DEFAULTTUNE_virtclass-multilib-libv8mmainfpsoftfp = "armv8mmainfpsoftfp"
223
224AVAILTUNES += "armv8mmainfpsoftfp"
225PACKAGE_EXTRA_ARCHS_tune-armv8mmainfpsoftfp = "${TUNE_PKGARCH_tune-armv8mmainfpsoftfp}"
226BASE_LIB_tune-armv8mmainfpsoftfp = "lib/thumb/v8-m.main+fp/softfp"
227TUNE_FEATURES_tune-armv8mmainfpsoftfp ="arm armrm"
228TUNE_CCARGS_tune-armv8mmainfpsoftfp = "-mthumb -march=armv8-m.main+fp -mfloat-abi=softfp"
229TUNE_PKGARCH_tune-armv8mmainfpsoftfp = "armv8mmainfpt"
230
231# thumb/v8-m.main+fp/hard
232# CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=hard
233DEFAULTTUNE_virtclass-multilib-libv8mmainfphard = "armv8mmainfphard"
234
235AVAILTUNES += "armv8mmainfphard"
236PACKAGE_EXTRA_ARCHS_tune-armv8mmainfphard = "${TUNE_PKGARCH_tune-armv8mmainfphard}"
237BASE_LIB_tune-armv8mmainfphard = "lib/thumb/v8-m.main+fp/hard"
238TUNE_FEATURES_tune-armv8mmainfphard ="arm armrm"
239TUNE_CCARGS_tune-armv8mmainfphard = "-mthumb -march=armv8-m.main+fp -mfloat-abi=hard"
240TUNE_PKGARCH_tune-armv8mmainfphard = "armv8mmainfpthf"
241
242
243# thumb/v8-m.main+dp/softfp
244# CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp
245DEFAULTTUNE_virtclass-multilib-libv8mmaindpsoftfp = "armv8mmaindpsoftfp"
246
247AVAILTUNES += "armv8mmaindpsoftfp"
248PACKAGE_EXTRA_ARCHS_tune-armv8mmaindpsoftfp = "${TUNE_PKGARCH_tune-armv8mmaindpsoftfp}"
249BASE_LIB_tune-armv8mmaindpsoftfp = "lib/thumb/v8-m.main+dp/softfp"
250TUNE_FEATURES_tune-armv8mmaindpsoftfp ="arm armrm"
251TUNE_CCARGS_tune-armv8mmaindpsoftfp = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp"
252TUNE_PKGARCH_tune-armv8mmaindpsoftfp = "armv8mmainfpdpt"
253
254
255# thumb/v8-m.main+dp/hard
256# CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard
257DEFAULTTUNE_virtclass-multilib-libv8mmaindphard = "armv8mmaindphard"
258
259AVAILTUNES += "armv8mmaindphard"
260PACKAGE_EXTRA_ARCHS_tune-armv8mmaindphard = "${TUNE_PKGARCH_tune-armv8mmaindphard}"
261BASE_LIB_tune-armv8mmaindphard = "lib/thumb/v8-m.main+dp/hard"
262TUNE_FEATURES_tune-armv8mmaindphard ="arm armrm"
263TUNE_CCARGS_tune-armv8mmaindphard = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard"
264TUNE_PKGARCH_tune-armv8mmaindphard = "armv8mmainfpdpthf"