catalyst/targets/generic_target.py: Pass TERM through to the chroot
[catalyst.git] / catalyst / arch / mips.py
1
2 import os
3
4 from catalyst import builder
5 from catalyst.support import *
6
7 class generic_mips(builder.generic):
8         "Abstract base class for all mips builders [Big-endian]"
9         def __init__(self,myspec):
10                 builder.generic.__init__(self,myspec)
11                 self.settings["CHROOT"]="chroot"
12                 self.settings["CHOST"]="mips-unknown-linux-gnu"
13
14 class generic_mipsel(builder.generic):
15         "Abstract base class for all mipsel builders [Little-endian]"
16         def __init__(self,myspec):
17                 builder.generic.__init__(self,myspec)
18                 self.settings["CHROOT"]="chroot"
19                 self.settings["CHOST"]="mipsel-unknown-linux-gnu"
20
21 class generic_mips64(builder.generic):
22         "Abstract base class for all mips64 builders [Big-endian]"
23         def __init__(self,myspec):
24                 builder.generic.__init__(self,myspec)
25                 self.settings["CHROOT"]="chroot"
26                 self.settings["CHOST"]="mips64-unknown-linux-gnu"
27
28 class generic_mips64el(builder.generic):
29         "Abstract base class for all mips64el builders [Little-endian]"
30         def __init__(self,myspec):
31                 builder.generic.__init__(self,myspec)
32                 self.settings["CHROOT"]="chroot"
33                 self.settings["CHOST"]="mips64el-unknown-linux-gnu"
34
35 class arch_mips1(generic_mips):
36         "Builder class for MIPS I [Big-endian]"
37         def __init__(self,myspec):
38                 generic_mips.__init__(self,myspec)
39                 self.settings["CFLAGS"]="-O2 -march=mips1 -mabi=32 -mplt -pipe"
40
41 class arch_mips32(generic_mips):
42         "Builder class for MIPS 32 [Big-endian]"
43         def __init__(self,myspec):
44                 generic_mips.__init__(self,myspec)
45                 self.settings["CFLAGS"]="-O2 -march=mips32 -mabi=32 -mplt -pipe"
46
47 class arch_mips32_softfloat(generic_mips):
48         "Builder class for MIPS 32 [Big-endian softfloat]"
49         def __init__(self,myspec):
50                 generic_mips.__init__(self,myspec)
51                 self.settings["CFLAGS"]="-O2 -march=mips32 -mabi=32 -mplt -pipe"
52                 self.settings["CHOST"]="mips-softfloat-linux-gnu"
53
54 class arch_mips32r2(generic_mips):
55         "Builder class for MIPS 32r2 [Big-endian]"
56         def __init__(self,myspec):
57                 generic_mips.__init__(self,myspec)
58                 self.settings["CFLAGS"]="-O2 -march=mips32r2 -mabi=32 -mplt -pipe"
59
60 class arch_mips32r2_softfloat(generic_mips):
61         "Builder class for MIPS 32r2 [Big-endian softfloat]"
62         def __init__(self,myspec):
63                 generic_mips.__init__(self,myspec)
64                 self.settings["CFLAGS"]="-O2 -march=mips32r2 -mabi=32 -mplt -pipe"
65                 self.settings["CHOST"]="mips-softfloat-linux-gnu"
66
67 class arch_mips3(generic_mips):
68         "Builder class for MIPS III [Big-endian]"
69         def __init__(self,myspec):
70                 generic_mips.__init__(self,myspec)
71                 self.settings["CFLAGS"]="-O2 -march=mips3 -mabi=32 -mplt -mfix-r4000 -mfix-r4400 -pipe"
72
73 class arch_mips3_n32(generic_mips64):
74         "Builder class for MIPS III [Big-endian N32]"
75         def __init__(self,myspec):
76                 generic_mips64.__init__(self,myspec)
77                 self.settings["CFLAGS"]="-O2 -march=mips3 -mabi=n32 -mplt -mfix-r4000 -mfix-r4400 -pipe"
78
79 class arch_mips3_n64(generic_mips64):
80         "Builder class for MIPS III [Big-endian N64]"
81         def __init__(self,myspec):
82                 generic_mips64.__init__(self,myspec)
83                 self.settings["CFLAGS"]="-O2 -march=mips3 -mabi=64 -mfix-r4000 -mfix-r4400 -pipe"
84
85 class arch_mips3_multilib(generic_mips64):
86         "Builder class for MIPS III [Big-endian multilib]"
87         def __init__(self,myspec):
88                 generic_mips64.__init__(self,myspec)
89                 self.settings["CFLAGS"]="-O2 -march=mips3 -mplt -mfix-r4000 -mfix-r4400 -pipe"
90
91 class arch_mips4(generic_mips):
92         "Builder class for MIPS IV [Big-endian]"
93         def __init__(self,myspec):
94                 generic_mips.__init__(self,myspec)
95                 self.settings["CFLAGS"]="-O2 -march=mips4 -mabi=32 -mplt -pipe"
96
97 class arch_mips4_n32(generic_mips64):
98         "Builder class for MIPS IV [Big-endian N32]"
99         def __init__(self,myspec):
100                 generic_mips64.__init__(self,myspec)
101                 self.settings["CFLAGS"]="-O2 -march=mips4 -mabi=n32 -mplt -pipe"
102
103 class arch_mips4_n64(generic_mips64):
104         "Builder class for MIPS IV [Big-endian N64]"
105         def __init__(self,myspec):
106                 generic_mips64.__init__(self,myspec)
107                 self.settings["CFLAGS"]="-O2 -march=mips4 -mabi=64 -pipe"
108
109 class arch_mips4_multilib(generic_mips64):
110         "Builder class for MIPS IV [Big-endian multilib]"
111         def __init__(self,myspec):
112                 generic_mips64.__init__(self,myspec)
113                 self.settings["CFLAGS"]="-O2 -march=mips4 -mplt -pipe"
114
115 class arch_mips4_r10k(generic_mips):
116         "Builder class for MIPS IV R10k [Big-endian]"
117         def __init__(self,myspec):
118                 generic_mips.__init__(self,myspec)
119                 self.settings["CFLAGS"]="-O2 -march=r10k -mabi=32 -mplt -pipe"
120
121 class arch_mips4_r10k_n32(generic_mips64):
122         "Builder class for MIPS IV R10k [Big-endian N32]"
123         def __init__(self,myspec):
124                 generic_mips64.__init__(self,myspec)
125                 self.settings["CFLAGS"]="-O2 -march=r10k -mabi=n32 -mplt -pipe"
126
127 class arch_mips4_r10k_n64(generic_mips64):
128         "Builder class for MIPS IV R10k [Big-endian N64]"
129         def __init__(self,myspec):
130                 generic_mips64.__init__(self,myspec)
131                 self.settings["CFLAGS"]="-O2 -march=r10k -mabi=64 -pipe"
132
133 class arch_mips4_r10k_multilib(generic_mips64):
134         "Builder class for MIPS IV R10k [Big-endian multilib]"
135         def __init__(self,myspec):
136                 generic_mips64.__init__(self,myspec)
137                 self.settings["CFLAGS"]="-O2 -march=r10k -mplt -pipe"
138
139 class arch_mips64(generic_mips):
140         "Builder class for MIPS 64 [Big-endian]"
141         def __init__(self,myspec):
142                 generic_mips.__init__(self,myspec)
143                 self.settings["CFLAGS"]="-O2 -march=mips64 -mabi=32 -mplt -pipe"
144
145 class arch_mips64_n32(generic_mips64):
146         "Builder class for MIPS 64 [Big-endian N32]"
147         def __init__(self,myspec):
148                 generic_mips64.__init__(self,myspec)
149                 self.settings["CFLAGS"]="-O2 -march=mips64 -mabi=n32 -mplt -pipe"
150
151 class arch_mips64_n64(generic_mips64):
152         "Builder class for MIPS 64 [Big-endian N64]"
153         def __init__(self,myspec):
154                 generic_mips64.__init__(self,myspec)
155                 self.settings["CFLAGS"]="-O2 -march=mips64 -mabi=64 -pipe"
156
157 class arch_mips64_multilib(generic_mips64):
158         "Builder class for MIPS 64 [Big-endian multilib]"
159         def __init__(self,myspec):
160                 generic_mips64.__init__(self,myspec)
161                 self.settings["CFLAGS"]="-O2 -march=mips64 -mplt -pipe"
162
163 class arch_mips64r2(generic_mips):
164         "Builder class for MIPS 64r2 [Big-endian]"
165         def __init__(self,myspec):
166                 generic_mips.__init__(self,myspec)
167                 self.settings["CFLAGS"]="-O2 -march=mips64r2 -mabi=32 -mplt -pipe"
168
169 class arch_mips64r2_n32(generic_mips64):
170         "Builder class for MIPS 64r2 [Big-endian N32]"
171         def __init__(self,myspec):
172                 generic_mips64.__init__(self,myspec)
173                 self.settings["CFLAGS"]="-O2 -march=mips64r2 -mabi=n32 -mplt -pipe"
174
175 class arch_mips64r2_n64(generic_mips64):
176         "Builder class for MIPS 64r2 [Big-endian N64]"
177         def __init__(self,myspec):
178                 generic_mips64.__init__(self,myspec)
179                 self.settings["CFLAGS"]="-O2 -march=mips64r2 -mabi=64 -pipe"
180
181 class arch_mips64r2_multilib(generic_mips64):
182         "Builder class for MIPS 64r2 [Big-endian multilib]"
183         def __init__(self,myspec):
184                 generic_mips64.__init__(self,myspec)
185                 self.settings["CFLAGS"]="-O2 -march=mips64r2 -mplt -pipe"
186
187 class arch_mipsel1(generic_mipsel):
188         "Builder class for MIPS I [Little-endian]"
189         def __init__(self,myspec):
190                 generic_mipsel.__init__(self,myspec)
191                 self.settings["CFLAGS"]="-O2 -march=mips1 -mabi=32 -mplt -pipe"
192
193 class arch_mips32el(generic_mipsel):
194         "Builder class for MIPS 32 [Little-endian]"
195         def __init__(self,myspec):
196                 generic_mipsel.__init__(self,myspec)
197                 self.settings["CFLAGS"]="-O2 -march=mips32 -mabi=32 -mplt -pipe"
198
199 class arch_mips32el_softfloat(generic_mipsel):
200         "Builder class for MIPS 32 [Little-endian softfloat]"
201         def __init__(self,myspec):
202                 generic_mipsel.__init__(self,myspec)
203                 self.settings["CFLAGS"]="-O2 -march=mips32 -mabi=32 -mplt -pipe"
204                 self.settings["CHOST"]="mipsel-softfloat-linux-gnu"
205
206 class arch_mips32r2el(generic_mipsel):
207         "Builder class for MIPS 32r2 [Little-endian]"
208         def __init__(self,myspec):
209                 generic_mipsel.__init__(self,myspec)
210                 self.settings["CFLAGS"]="-O2 -march=mips32r2 -mabi=32 -mplt -pipe"
211
212 class arch_mips32r2el_softfloat(generic_mipsel):
213         "Builder class for MIPS 32r2 [Little-endian softfloat]"
214         def __init__(self,myspec):
215                 generic_mipsel.__init__(self,myspec)
216                 self.settings["CFLAGS"]="-O2 -march=mips32r2 -mabi=32 -mplt -pipe"
217                 self.settings["CHOST"]="mipsel-softfloat-linux-gnu"
218
219 class arch_mipsel3(generic_mipsel):
220         "Builder class for MIPS III [Little-endian]"
221         def __init__(self,myspec):
222                 generic_mipsel.__init__(self,myspec)
223                 self.settings["CFLAGS"]="-O2 -march=mips3 -mabi=32 -mplt -Wa,-mfix-loongson2f-nop -pipe"
224
225 class arch_mipsel3_n32(generic_mips64el):
226         "Builder class for MIPS III [Little-endian N32]"
227         def __init__(self,myspec):
228                 generic_mips64el.__init__(self,myspec)
229                 self.settings["CFLAGS"]="-O2 -march=mips3 -mabi=n32 -mplt -Wa,-mfix-loongson2f-nop -pipe"
230
231 class arch_mipsel3_n64(generic_mips64el):
232         "Builder class for MIPS III [Little-endian N64]"
233         def __init__(self,myspec):
234                 generic_mips64el.__init__(self,myspec)
235                 self.settings["CFLAGS"]="-O2 -march=mips3 -mabi=64 -Wa,-mfix-loongson2f-nop -pipe"
236
237 class arch_mipsel3_multilib(generic_mips64el):
238         "Builder class for MIPS III [Little-endian multilib]"
239         def __init__(self,myspec):
240                 generic_mips64el.__init__(self,myspec)
241                 self.settings["CFLAGS"]="-O2 -march=mips3 -mplt -Wa,-mfix-loongson2f-nop -pipe"
242
243 class arch_loongson2e(generic_mipsel):
244         "Builder class for Loongson 2E [Little-endian]"
245         def __init__(self,myspec):
246                 generic_mipsel.__init__(self,myspec)
247                 self.settings["CFLAGS"]="-O2 -march=loongson2e -mabi=32 -mplt -pipe"
248
249 class arch_loongson2e_n32(generic_mips64el):
250         "Builder class for Loongson 2E [Little-endian N32]"
251         def __init__(self,myspec):
252                 generic_mips64el.__init__(self,myspec)
253                 self.settings["CFLAGS"]="-O2 -march=loongson2e -mabi=n32 -mplt -pipe"
254
255 class arch_loongson2e_n64(generic_mips64el):
256         "Builder class for Loongson 2E [Little-endian N64]"
257         def __init__(self,myspec):
258                 generic_mips64el.__init__(self,myspec)
259                 self.settings["CFLAGS"]="-O2 -march=loongson2e -mabi=64 -pipe"
260
261 class arch_loongson2e_multilib(generic_mips64el):
262         "Builder class for Loongson 2E [Little-endian multilib]"
263         def __init__(self,myspec):
264                 generic_mips64el.__init__(self,myspec)
265                 self.settings["CFLAGS"]="-O2 -march=loongson2e -mplt -pipe"
266
267 class arch_loongson2f(generic_mipsel):
268         "Builder class for Loongson 2F [Little-endian]"
269         def __init__(self,myspec):
270                 generic_mipsel.__init__(self,myspec)
271                 self.settings["CFLAGS"]="-O2 -march=loongson2f -mabi=32 -mplt -Wa,-mfix-loongson2f-nop -pipe"
272
273 class arch_loongson2f_n32(generic_mips64el):
274         "Builder class for Loongson 2F [Little-endian N32]"
275         def __init__(self,myspec):
276                 generic_mips64el.__init__(self,myspec)
277                 self.settings["CFLAGS"]="-O2 -march=loongson2f -mabi=n32 -mplt -Wa,-mfix-loongson2f-nop -pipe"
278
279 class arch_loongson2f_n64(generic_mips64el):
280         "Builder class for Loongson 2F [Little-endian N64]"
281         def __init__(self,myspec):
282                 generic_mips64el.__init__(self,myspec)
283                 self.settings["CFLAGS"]="-O2 -march=loongson2f -mabi=64 -Wa,-mfix-loongson2f-nop -pipe"
284
285 class arch_loongson2f_multilib(generic_mips64el):
286         "Builder class for Loongson 2F [Little-endian multilib]"
287         def __init__(self,myspec):
288                 generic_mips64el.__init__(self,myspec)
289                 self.settings["CFLAGS"]="-O2 -march=loongson2f -mplt -Wa,-mfix-loongson2f-nop -pipe"
290
291 class arch_mipsel4(generic_mipsel):
292         "Builder class for MIPS IV [Little-endian]"
293         def __init__(self,myspec):
294                 generic_mipsel.__init__(self,myspec)
295                 self.settings["CFLAGS"]="-O2 -march=mips4 -mabi=32 -mplt -pipe"
296
297 class arch_mipsel4_n32(generic_mips64el):
298         "Builder class for MIPS IV [Little-endian N32]"
299         def __init__(self,myspec):
300                 generic_mips64el.__init__(self,myspec)
301                 self.settings["CFLAGS"]="-O2 -march=mips4 -mabi=n32 -mplt -pipe"
302
303 class arch_mipsel4_n64(generic_mips64el):
304         "Builder class for MIPS IV [Little-endian N64]"
305         def __init__(self,myspec):
306                 generic_mips64el.__init__(self,myspec)
307                 self.settings["CFLAGS"]="-O2 -march=mips4 -mabi=64 -pipe"
308
309 class arch_mipsel4_multilib(generic_mips64el):
310         "Builder class for MIPS IV [Little-endian multilib]"
311         def __init__(self,myspec):
312                 generic_mips64el.__init__(self,myspec)
313                 self.settings["CFLAGS"]="-O2 -march=mips4 -mplt -pipe"
314
315 class arch_mips64el(generic_mipsel):
316         "Builder class for MIPS 64 [Little-endian]"
317         def __init__(self,myspec):
318                 generic_mipsel.__init__(self,myspec)
319                 self.settings["CFLAGS"]="-O2 -march=mips64 -mabi=32 -mplt -pipe"
320
321 class arch_mips64el_n32(generic_mips64el):
322         "Builder class for MIPS 64 [Little-endian N32]"
323         def __init__(self,myspec):
324                 generic_mips64el.__init__(self,myspec)
325                 self.settings["CFLAGS"]="-O2 -march=mips64 -mabi=n32 -mplt -pipe"
326
327 class arch_mips64el_n64(generic_mips64el):
328         "Builder class for MIPS 64 [Little-endian N64]"
329         def __init__(self,myspec):
330                 generic_mips64el.__init__(self,myspec)
331                 self.settings["CFLAGS"]="-O2 -march=mips64 -mabi=64 -pipe"
332
333 class arch_mips64el_multilib(generic_mips64el):
334         "Builder class for MIPS 64 [Little-endian multilib]"
335         def __init__(self,myspec):
336                 generic_mips64el.__init__(self,myspec)
337                 self.settings["CFLAGS"]="-O2 -march=mips64 -mplt -pipe"
338
339 class arch_mips64r2el(generic_mipsel):
340         "Builder class for MIPS 64r2 [Little-endian]"
341         def __init__(self,myspec):
342                 generic_mipsel.__init__(self,myspec)
343                 self.settings["CFLAGS"]="-O2 -march=mips64r2 -mabi=32 -mplt -pipe"
344
345 class arch_mips64r2el_n32(generic_mips64el):
346         "Builder class for MIPS 64r2 [Little-endian N32]"
347         def __init__(self,myspec):
348                 generic_mips64el.__init__(self,myspec)
349                 self.settings["CFLAGS"]="-O2 -march=mips64r2 -mabi=n32 -mplt -pipe"
350
351 class arch_mips64r2el_n64(generic_mips64el):
352         "Builder class for MIPS 64r2 [Little-endian N64]"
353         def __init__(self,myspec):
354                 generic_mips64el.__init__(self,myspec)
355                 self.settings["CFLAGS"]="-O2 -march=mips64r2 -mabi=64 -pipe"
356
357 class arch_mips64r2el_multilib(generic_mips64el):
358         "Builder class for MIPS 64r2 [Little-endian multilib]"
359         def __init__(self,myspec):
360                 generic_mips64el.__init__(self,myspec)
361                 self.settings["CFLAGS"]="-O2 -march=mips64r2 -mplt -pipe"
362
363 class arch_loongson3a(generic_mipsel):
364         "Builder class for Loongson 3A [Little-endian]"
365         def __init__(self,myspec):
366                 generic_mipsel.__init__(self,myspec)
367                 self.settings["CFLAGS"]="-O2 -march=loongson3a -mabi=32 -mplt -pipe"
368
369 class arch_loongson3a_n32(generic_mips64el):
370         "Builder class for Loongson 3A [Little-endian N32]"
371         def __init__(self,myspec):
372                 generic_mips64el.__init__(self,myspec)
373                 self.settings["CFLAGS"]="-O2 -march=loongson3a -mabi=n32 -mplt -pipe"
374
375 class arch_loongson3a_n64(generic_mips64el):
376         "Builder class for Loongson 3A [Little-endian N64]"
377         def __init__(self,myspec):
378                 generic_mips64el.__init__(self,myspec)
379                 self.settings["CFLAGS"]="-O2 -march=loongson3a -mabi=64 -pipe"
380
381 class arch_loongson3a_multilib(generic_mips64el):
382         "Builder class for Loongson 3A [Little-endian multilib]"
383         def __init__(self,myspec):
384                 generic_mips64el.__init__(self,myspec)
385                 self.settings["CFLAGS"]="-O2 -march=loongson3a -mplt -pipe"
386
387 class arch_cobalt(generic_mipsel):
388         "Builder class for cobalt [Little-endian]"
389         def __init__(self,myspec):
390                 generic_mipsel.__init__(self,myspec)
391                 self.settings["CFLAGS"]="-O2 -march=r5000 -mabi=32 -mplt -pipe"
392                 self.settings["HOSTUSE"]=["cobalt"]
393
394 class arch_cobalt_n32(generic_mips64el):
395         "Builder class for cobalt [Little-endian N32]"
396         def __init__(self,myspec):
397                 generic_mips64el.__init__(self,myspec)
398                 self.settings["CFLAGS"]="-O2 -march=r5000 -mabi=n32 -mplt -pipe"
399                 self.settings["HOSTUSE"]=["cobalt"]
400
401 def register():
402         "Inform main catalyst program of the contents of this plugin."
403         return ({
404                         "cobalt"                                : arch_cobalt,
405                         "cobalt_n32"                    : arch_cobalt_n32,
406                         "mips"                                  : arch_mips1,
407                         "mips1"                                 : arch_mips1,
408                         "mips32"                                : arch_mips32,
409                         "mips32_softfloat"              : arch_mips32_softfloat,
410                         "mips32r2"                              : arch_mips32r2,
411                         "mips32r2_softfloat"    : arch_mips32r2_softfloat,
412                         "mips3"                                 : arch_mips3,
413                         "mips3_n32"                             : arch_mips3_n32,
414                         "mips3_n64"                             : arch_mips3_n64,
415                         "mips3_multilib"                : arch_mips3_multilib,
416                         "mips4"                                 : arch_mips4,
417                         "mips4_n32"                             : arch_mips4_n32,
418                         "mips4_n64"                             : arch_mips4_n64,
419                         "mips4_multilib"                : arch_mips4_multilib,
420                         "mips4_r10k"                    : arch_mips4_r10k,
421                         "mips4_r10k_n32"                : arch_mips4_r10k_n32,
422                         "mips4_r10k_n64"                : arch_mips4_r10k_n64,
423                         "mips4_r10k_multilib"   : arch_mips4_r10k_multilib,
424                         "mips64"                                : arch_mips64,
425                         "mips64_n32"                    : arch_mips64_n32,
426                         "mips64_n64"                    : arch_mips64_n64,
427                         "mips64_multilib"               : arch_mips64_multilib,
428                         "mips64r2"                              : arch_mips64r2,
429                         "mips64r2_n32"                  : arch_mips64r2_n32,
430                         "mips64r2_n64"                  : arch_mips64r2_n64,
431                         "mips64r2_multilib"             : arch_mips64r2_multilib,
432                         "mipsel"                                : arch_mipsel1,
433                         "mipsel1"                               : arch_mipsel1,
434                         "mips32el"                              : arch_mips32el,
435                         "mips32el_softfloat"    : arch_mips32el_softfloat,
436                         "mips32r2el"                    : arch_mips32r2el,
437                         "mips32r2el_softfloat"  : arch_mips32r2el_softfloat,
438                         "mipsel3"                               : arch_mipsel3,
439                         "mipsel3_n32"                   : arch_mipsel3_n32,
440                         "mipsel3_n64"                   : arch_mipsel3_n64,
441                         "mipsel3_multilib"              : arch_mipsel3_multilib,
442                         "mipsel4"                               : arch_mipsel4,
443                         "mipsel4_n32"                   : arch_mipsel4_n32,
444                         "mipsel4_n64"                   : arch_mipsel4_n64,
445                         "mipsel4_multilib"              : arch_mipsel4_multilib,
446                         "mips64el"                              : arch_mips64el,
447                         "mips64el_n32"                  : arch_mips64el_n32,
448                         "mips64el_n64"                  : arch_mips64el_n64,
449                         "mips64el_multilib"             : arch_mips64el_multilib,
450                         "mips64r2el"                    : arch_mips64r2el,
451                         "mips64r2el_n32"                : arch_mips64r2el_n32,
452                         "mips64r2el_n64"                : arch_mips64r2el_n64,
453                         "mips64r2el_multilib"   : arch_mips64r2el_multilib,
454                         "loongson2e"                    : arch_loongson2e,
455                         "loongson2e_n32"                : arch_loongson2e_n32,
456                         "loongson2e_n64"                : arch_loongson2e_n64,
457                         "loongson2e_multilib"   : arch_loongson2e_multilib,
458                         "loongson2f"                    : arch_loongson2f,
459                         "loongson2f_n32"                : arch_loongson2f_n32,
460                         "loongson2f_n64"                : arch_loongson2f_n64,
461                         "loongson2f_multilib"   : arch_loongson2f_multilib,
462                         "loongson3a"                    : arch_loongson3a,
463                         "loongson3a_n32"                : arch_loongson3a_n32,
464                         "loongson3a_n64"                : arch_loongson3a_n64,
465                         "loongson3a_multilib"   : arch_loongson3a_multilib,
466         }, ("mips","mips64"))