1use object::elf;
2
3use crate::spec::{Cc, LinkerFlavor, Lld, RelocModel, Target, TargetOptions};
4
5pub(crate) fn target(target_cpu: &'static str, mmcu: &'static str) -> Target {
10 Target {
11 arch: "avr".into(),
12 metadata: crate::spec::TargetMetadata {
13 description: None,
14 tier: None,
15 host_tools: None,
16 std: None,
17 },
18 data_layout: "e-P1-p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8".into(),
19 llvm_target: "avr-unknown-unknown".into(),
20 pointer_width: 16,
21 options: TargetOptions {
22 env: "gnu".into(),
23
24 c_int_width: "16".into(),
25 cpu: target_cpu.into(),
26 exe_suffix: ".elf".into(),
27
28 linker: Some("avr-gcc".into()),
29 eh_frame_header: false,
30 pre_link_args: TargetOptions::link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &[mmcu]),
31 late_link_args: TargetOptions::link_args(
32 LinkerFlavor::Gnu(Cc::Yes, Lld::No),
33 &["-lgcc"],
34 ),
35 max_atomic_width: Some(16),
36 atomic_cas: false,
37 relocation_model: RelocModel::Static,
38 ..TargetOptions::default()
39 },
40 }
41}
42
43pub fn ef_avr_arch(target_cpu: &str) -> u32 {
53 match target_cpu {
55 "avr1" => elf::EF_AVR_ARCH_AVR1,
57 "avr2" => elf::EF_AVR_ARCH_AVR2,
58 "avr25" => elf::EF_AVR_ARCH_AVR25,
59 "avr3" => elf::EF_AVR_ARCH_AVR3,
60 "avr31" => elf::EF_AVR_ARCH_AVR31,
61 "avr35" => elf::EF_AVR_ARCH_AVR35,
62 "avr4" => elf::EF_AVR_ARCH_AVR4,
63 "avr5" => elf::EF_AVR_ARCH_AVR5,
64 "avr51" => elf::EF_AVR_ARCH_AVR51,
65 "avr6" => elf::EF_AVR_ARCH_AVR6,
66 "avrxmega1" => elf::EF_AVR_ARCH_XMEGA1,
67 "avrxmega2" => elf::EF_AVR_ARCH_XMEGA2,
68 "avrxmega3" => elf::EF_AVR_ARCH_XMEGA3,
69 "avrxmega4" => elf::EF_AVR_ARCH_XMEGA4,
70 "avrxmega5" => elf::EF_AVR_ARCH_XMEGA5,
71 "avrxmega6" => elf::EF_AVR_ARCH_XMEGA6,
72 "avrxmega7" => elf::EF_AVR_ARCH_XMEGA7,
73 "avrtiny" => elf::EF_AVR_ARCH_AVRTINY,
74
75 "at90s1200" => elf::EF_AVR_ARCH_AVR1,
77 "attiny11" => elf::EF_AVR_ARCH_AVR1,
78 "attiny12" => elf::EF_AVR_ARCH_AVR1,
79 "attiny15" => elf::EF_AVR_ARCH_AVR1,
80 "attiny28" => elf::EF_AVR_ARCH_AVR1,
81 "at90s2313" => elf::EF_AVR_ARCH_AVR2,
82 "at90s2323" => elf::EF_AVR_ARCH_AVR2,
83 "at90s2333" => elf::EF_AVR_ARCH_AVR2,
84 "at90s2343" => elf::EF_AVR_ARCH_AVR2,
85 "attiny22" => elf::EF_AVR_ARCH_AVR2,
86 "attiny26" => elf::EF_AVR_ARCH_AVR2,
87 "at86rf401" => elf::EF_AVR_ARCH_AVR25,
88 "at90s4414" => elf::EF_AVR_ARCH_AVR2,
89 "at90s4433" => elf::EF_AVR_ARCH_AVR2,
90 "at90s4434" => elf::EF_AVR_ARCH_AVR2,
91 "at90s8515" => elf::EF_AVR_ARCH_AVR2,
92 "at90c8534" => elf::EF_AVR_ARCH_AVR2,
93 "at90s8535" => elf::EF_AVR_ARCH_AVR2,
94 "ata5272" => elf::EF_AVR_ARCH_AVR25,
95 "ata6616c" => elf::EF_AVR_ARCH_AVR25,
96 "attiny13" => elf::EF_AVR_ARCH_AVR25,
97 "attiny13a" => elf::EF_AVR_ARCH_AVR25,
98 "attiny2313" => elf::EF_AVR_ARCH_AVR25,
99 "attiny2313a" => elf::EF_AVR_ARCH_AVR25,
100 "attiny24" => elf::EF_AVR_ARCH_AVR25,
101 "attiny24a" => elf::EF_AVR_ARCH_AVR25,
102 "attiny4313" => elf::EF_AVR_ARCH_AVR25,
103 "attiny44" => elf::EF_AVR_ARCH_AVR25,
104 "attiny44a" => elf::EF_AVR_ARCH_AVR25,
105 "attiny84" => elf::EF_AVR_ARCH_AVR25,
106 "attiny84a" => elf::EF_AVR_ARCH_AVR25,
107 "attiny25" => elf::EF_AVR_ARCH_AVR25,
108 "attiny45" => elf::EF_AVR_ARCH_AVR25,
109 "attiny85" => elf::EF_AVR_ARCH_AVR25,
110 "attiny261" => elf::EF_AVR_ARCH_AVR25,
111 "attiny261a" => elf::EF_AVR_ARCH_AVR25,
112 "attiny441" => elf::EF_AVR_ARCH_AVR25,
113 "attiny461" => elf::EF_AVR_ARCH_AVR25,
114 "attiny461a" => elf::EF_AVR_ARCH_AVR25,
115 "attiny841" => elf::EF_AVR_ARCH_AVR25,
116 "attiny861" => elf::EF_AVR_ARCH_AVR25,
117 "attiny861a" => elf::EF_AVR_ARCH_AVR25,
118 "attiny87" => elf::EF_AVR_ARCH_AVR25,
119 "attiny43u" => elf::EF_AVR_ARCH_AVR25,
120 "attiny48" => elf::EF_AVR_ARCH_AVR25,
121 "attiny88" => elf::EF_AVR_ARCH_AVR25,
122 "attiny828" => elf::EF_AVR_ARCH_AVR25,
123 "at43usb355" => elf::EF_AVR_ARCH_AVR3,
124 "at76c711" => elf::EF_AVR_ARCH_AVR3,
125 "atmega103" => elf::EF_AVR_ARCH_AVR31,
126 "at43usb320" => elf::EF_AVR_ARCH_AVR31,
127 "attiny167" => elf::EF_AVR_ARCH_AVR35,
128 "at90usb82" => elf::EF_AVR_ARCH_AVR35,
129 "at90usb162" => elf::EF_AVR_ARCH_AVR35,
130 "ata5505" => elf::EF_AVR_ARCH_AVR35,
131 "ata6617c" => elf::EF_AVR_ARCH_AVR35,
132 "ata664251" => elf::EF_AVR_ARCH_AVR35,
133 "atmega8u2" => elf::EF_AVR_ARCH_AVR35,
134 "atmega16u2" => elf::EF_AVR_ARCH_AVR35,
135 "atmega32u2" => elf::EF_AVR_ARCH_AVR35,
136 "attiny1634" => elf::EF_AVR_ARCH_AVR35,
137 "atmega8" => elf::EF_AVR_ARCH_AVR4,
138 "ata6289" => elf::EF_AVR_ARCH_AVR4,
139 "atmega8a" => elf::EF_AVR_ARCH_AVR4,
140 "ata6285" => elf::EF_AVR_ARCH_AVR4,
141 "ata6286" => elf::EF_AVR_ARCH_AVR4,
142 "ata6612c" => elf::EF_AVR_ARCH_AVR4,
143 "atmega48" => elf::EF_AVR_ARCH_AVR4,
144 "atmega48a" => elf::EF_AVR_ARCH_AVR4,
145 "atmega48pa" => elf::EF_AVR_ARCH_AVR4,
146 "atmega48pb" => elf::EF_AVR_ARCH_AVR4,
147 "atmega48p" => elf::EF_AVR_ARCH_AVR4,
148 "atmega88" => elf::EF_AVR_ARCH_AVR4,
149 "atmega88a" => elf::EF_AVR_ARCH_AVR4,
150 "atmega88p" => elf::EF_AVR_ARCH_AVR4,
151 "atmega88pa" => elf::EF_AVR_ARCH_AVR4,
152 "atmega88pb" => elf::EF_AVR_ARCH_AVR4,
153 "atmega8515" => elf::EF_AVR_ARCH_AVR4,
154 "atmega8535" => elf::EF_AVR_ARCH_AVR4,
155 "atmega8hva" => elf::EF_AVR_ARCH_AVR4,
156 "at90pwm1" => elf::EF_AVR_ARCH_AVR4,
157 "at90pwm2" => elf::EF_AVR_ARCH_AVR4,
158 "at90pwm2b" => elf::EF_AVR_ARCH_AVR4,
159 "at90pwm3" => elf::EF_AVR_ARCH_AVR4,
160 "at90pwm3b" => elf::EF_AVR_ARCH_AVR4,
161 "at90pwm81" => elf::EF_AVR_ARCH_AVR4,
162 "ata5702m322" => elf::EF_AVR_ARCH_AVR5,
163 "ata5782" => elf::EF_AVR_ARCH_AVR5,
164 "ata5790" => elf::EF_AVR_ARCH_AVR5,
165 "ata5790n" => elf::EF_AVR_ARCH_AVR5,
166 "ata5791" => elf::EF_AVR_ARCH_AVR5,
167 "ata5795" => elf::EF_AVR_ARCH_AVR5,
168 "ata5831" => elf::EF_AVR_ARCH_AVR5,
169 "ata6613c" => elf::EF_AVR_ARCH_AVR5,
170 "ata6614q" => elf::EF_AVR_ARCH_AVR5,
171 "ata8210" => elf::EF_AVR_ARCH_AVR5,
172 "ata8510" => elf::EF_AVR_ARCH_AVR5,
173 "atmega16" => elf::EF_AVR_ARCH_AVR5,
174 "atmega16a" => elf::EF_AVR_ARCH_AVR5,
175 "atmega161" => elf::EF_AVR_ARCH_AVR5,
176 "atmega162" => elf::EF_AVR_ARCH_AVR5,
177 "atmega163" => elf::EF_AVR_ARCH_AVR5,
178 "atmega164a" => elf::EF_AVR_ARCH_AVR5,
179 "atmega164p" => elf::EF_AVR_ARCH_AVR5,
180 "atmega164pa" => elf::EF_AVR_ARCH_AVR5,
181 "atmega165" => elf::EF_AVR_ARCH_AVR5,
182 "atmega165a" => elf::EF_AVR_ARCH_AVR5,
183 "atmega165p" => elf::EF_AVR_ARCH_AVR5,
184 "atmega165pa" => elf::EF_AVR_ARCH_AVR5,
185 "atmega168" => elf::EF_AVR_ARCH_AVR5,
186 "atmega168a" => elf::EF_AVR_ARCH_AVR5,
187 "atmega168p" => elf::EF_AVR_ARCH_AVR5,
188 "atmega168pa" => elf::EF_AVR_ARCH_AVR5,
189 "atmega168pb" => elf::EF_AVR_ARCH_AVR5,
190 "atmega169" => elf::EF_AVR_ARCH_AVR5,
191 "atmega169a" => elf::EF_AVR_ARCH_AVR5,
192 "atmega169p" => elf::EF_AVR_ARCH_AVR5,
193 "atmega169pa" => elf::EF_AVR_ARCH_AVR5,
194 "atmega32" => elf::EF_AVR_ARCH_AVR5,
195 "atmega32a" => elf::EF_AVR_ARCH_AVR5,
196 "atmega323" => elf::EF_AVR_ARCH_AVR5,
197 "atmega324a" => elf::EF_AVR_ARCH_AVR5,
198 "atmega324p" => elf::EF_AVR_ARCH_AVR5,
199 "atmega324pa" => elf::EF_AVR_ARCH_AVR5,
200 "atmega324pb" => elf::EF_AVR_ARCH_AVR5,
201 "atmega325" => elf::EF_AVR_ARCH_AVR5,
202 "atmega325a" => elf::EF_AVR_ARCH_AVR5,
203 "atmega325p" => elf::EF_AVR_ARCH_AVR5,
204 "atmega325pa" => elf::EF_AVR_ARCH_AVR5,
205 "atmega3250" => elf::EF_AVR_ARCH_AVR5,
206 "atmega3250a" => elf::EF_AVR_ARCH_AVR5,
207 "atmega3250p" => elf::EF_AVR_ARCH_AVR5,
208 "atmega3250pa" => elf::EF_AVR_ARCH_AVR5,
209 "atmega328" => elf::EF_AVR_ARCH_AVR5,
210 "atmega328p" => elf::EF_AVR_ARCH_AVR5,
211 "atmega328pb" => elf::EF_AVR_ARCH_AVR5,
212 "atmega329" => elf::EF_AVR_ARCH_AVR5,
213 "atmega329a" => elf::EF_AVR_ARCH_AVR5,
214 "atmega329p" => elf::EF_AVR_ARCH_AVR5,
215 "atmega329pa" => elf::EF_AVR_ARCH_AVR5,
216 "atmega3290" => elf::EF_AVR_ARCH_AVR5,
217 "atmega3290a" => elf::EF_AVR_ARCH_AVR5,
218 "atmega3290p" => elf::EF_AVR_ARCH_AVR5,
219 "atmega3290pa" => elf::EF_AVR_ARCH_AVR5,
220 "atmega406" => elf::EF_AVR_ARCH_AVR5,
221 "atmega64" => elf::EF_AVR_ARCH_AVR5,
222 "atmega64a" => elf::EF_AVR_ARCH_AVR5,
223 "atmega640" => elf::EF_AVR_ARCH_AVR5,
224 "atmega644" => elf::EF_AVR_ARCH_AVR5,
225 "atmega644a" => elf::EF_AVR_ARCH_AVR5,
226 "atmega644p" => elf::EF_AVR_ARCH_AVR5,
227 "atmega644pa" => elf::EF_AVR_ARCH_AVR5,
228 "atmega645" => elf::EF_AVR_ARCH_AVR5,
229 "atmega645a" => elf::EF_AVR_ARCH_AVR5,
230 "atmega645p" => elf::EF_AVR_ARCH_AVR5,
231 "atmega649" => elf::EF_AVR_ARCH_AVR5,
232 "atmega649a" => elf::EF_AVR_ARCH_AVR5,
233 "atmega649p" => elf::EF_AVR_ARCH_AVR5,
234 "atmega6450" => elf::EF_AVR_ARCH_AVR5,
235 "atmega6450a" => elf::EF_AVR_ARCH_AVR5,
236 "atmega6450p" => elf::EF_AVR_ARCH_AVR5,
237 "atmega6490" => elf::EF_AVR_ARCH_AVR5,
238 "atmega6490a" => elf::EF_AVR_ARCH_AVR5,
239 "atmega6490p" => elf::EF_AVR_ARCH_AVR5,
240 "atmega64rfr2" => elf::EF_AVR_ARCH_AVR5,
241 "atmega644rfr2" => elf::EF_AVR_ARCH_AVR5,
242 "atmega16hva" => elf::EF_AVR_ARCH_AVR5,
243 "atmega16hva2" => elf::EF_AVR_ARCH_AVR5,
244 "atmega16hvb" => elf::EF_AVR_ARCH_AVR5,
245 "atmega16hvbrevb" => elf::EF_AVR_ARCH_AVR5,
246 "atmega32hvb" => elf::EF_AVR_ARCH_AVR5,
247 "atmega32hvbrevb" => elf::EF_AVR_ARCH_AVR5,
248 "atmega64hve" => elf::EF_AVR_ARCH_AVR5,
249 "atmega64hve2" => elf::EF_AVR_ARCH_AVR5,
250 "at90can32" => elf::EF_AVR_ARCH_AVR5,
251 "at90can64" => elf::EF_AVR_ARCH_AVR5,
252 "at90pwm161" => elf::EF_AVR_ARCH_AVR5,
253 "at90pwm216" => elf::EF_AVR_ARCH_AVR5,
254 "at90pwm316" => elf::EF_AVR_ARCH_AVR5,
255 "atmega32c1" => elf::EF_AVR_ARCH_AVR5,
256 "atmega64c1" => elf::EF_AVR_ARCH_AVR5,
257 "atmega16m1" => elf::EF_AVR_ARCH_AVR5,
258 "atmega32m1" => elf::EF_AVR_ARCH_AVR5,
259 "atmega64m1" => elf::EF_AVR_ARCH_AVR5,
260 "atmega16u4" => elf::EF_AVR_ARCH_AVR5,
261 "atmega32u4" => elf::EF_AVR_ARCH_AVR5,
262 "atmega32u6" => elf::EF_AVR_ARCH_AVR5,
263 "at90usb646" => elf::EF_AVR_ARCH_AVR5,
264 "at90usb647" => elf::EF_AVR_ARCH_AVR5,
265 "at90scr100" => elf::EF_AVR_ARCH_AVR5,
266 "at94k" => elf::EF_AVR_ARCH_AVR5,
267 "m3000" => elf::EF_AVR_ARCH_AVR5,
268 "atmega128" => elf::EF_AVR_ARCH_AVR51,
269 "atmega128a" => elf::EF_AVR_ARCH_AVR51,
270 "atmega1280" => elf::EF_AVR_ARCH_AVR51,
271 "atmega1281" => elf::EF_AVR_ARCH_AVR51,
272 "atmega1284" => elf::EF_AVR_ARCH_AVR51,
273 "atmega1284p" => elf::EF_AVR_ARCH_AVR51,
274 "atmega128rfa1" => elf::EF_AVR_ARCH_AVR51,
275 "atmega128rfr2" => elf::EF_AVR_ARCH_AVR51,
276 "atmega1284rfr2" => elf::EF_AVR_ARCH_AVR51,
277 "at90can128" => elf::EF_AVR_ARCH_AVR51,
278 "at90usb1286" => elf::EF_AVR_ARCH_AVR51,
279 "at90usb1287" => elf::EF_AVR_ARCH_AVR51,
280 "atmega2560" => elf::EF_AVR_ARCH_AVR6,
281 "atmega2561" => elf::EF_AVR_ARCH_AVR6,
282 "atmega256rfr2" => elf::EF_AVR_ARCH_AVR6,
283 "atmega2564rfr2" => elf::EF_AVR_ARCH_AVR6,
284 "atxmega16a4" => elf::EF_AVR_ARCH_XMEGA2,
285 "atxmega16a4u" => elf::EF_AVR_ARCH_XMEGA2,
286 "atxmega16c4" => elf::EF_AVR_ARCH_XMEGA2,
287 "atxmega16d4" => elf::EF_AVR_ARCH_XMEGA2,
288 "atxmega32a4" => elf::EF_AVR_ARCH_XMEGA2,
289 "atxmega32a4u" => elf::EF_AVR_ARCH_XMEGA2,
290 "atxmega32c3" => elf::EF_AVR_ARCH_XMEGA2,
291 "atxmega32c4" => elf::EF_AVR_ARCH_XMEGA2,
292 "atxmega32d3" => elf::EF_AVR_ARCH_XMEGA2,
293 "atxmega32d4" => elf::EF_AVR_ARCH_XMEGA2,
294 "atxmega32e5" => elf::EF_AVR_ARCH_XMEGA2,
295 "atxmega16e5" => elf::EF_AVR_ARCH_XMEGA2,
296 "atxmega8e5" => elf::EF_AVR_ARCH_XMEGA2,
297 "atxmega64a3" => elf::EF_AVR_ARCH_XMEGA4,
298 "atxmega64a3u" => elf::EF_AVR_ARCH_XMEGA4,
299 "atxmega64a4u" => elf::EF_AVR_ARCH_XMEGA4,
300 "atxmega64b1" => elf::EF_AVR_ARCH_XMEGA4,
301 "atxmega64b3" => elf::EF_AVR_ARCH_XMEGA4,
302 "atxmega64c3" => elf::EF_AVR_ARCH_XMEGA4,
303 "atxmega64d3" => elf::EF_AVR_ARCH_XMEGA4,
304 "atxmega64d4" => elf::EF_AVR_ARCH_XMEGA4,
305 "atxmega64a1" => elf::EF_AVR_ARCH_XMEGA5,
306 "atxmega64a1u" => elf::EF_AVR_ARCH_XMEGA5,
307 "atxmega128a3" => elf::EF_AVR_ARCH_XMEGA6,
308 "atxmega128a3u" => elf::EF_AVR_ARCH_XMEGA6,
309 "atxmega128b1" => elf::EF_AVR_ARCH_XMEGA6,
310 "atxmega128b3" => elf::EF_AVR_ARCH_XMEGA6,
311 "atxmega128c3" => elf::EF_AVR_ARCH_XMEGA6,
312 "atxmega128d3" => elf::EF_AVR_ARCH_XMEGA6,
313 "atxmega128d4" => elf::EF_AVR_ARCH_XMEGA6,
314 "atxmega192a3" => elf::EF_AVR_ARCH_XMEGA6,
315 "atxmega192a3u" => elf::EF_AVR_ARCH_XMEGA6,
316 "atxmega192c3" => elf::EF_AVR_ARCH_XMEGA6,
317 "atxmega192d3" => elf::EF_AVR_ARCH_XMEGA6,
318 "atxmega256a3" => elf::EF_AVR_ARCH_XMEGA6,
319 "atxmega256a3u" => elf::EF_AVR_ARCH_XMEGA6,
320 "atxmega256a3b" => elf::EF_AVR_ARCH_XMEGA6,
321 "atxmega256a3bu" => elf::EF_AVR_ARCH_XMEGA6,
322 "atxmega256c3" => elf::EF_AVR_ARCH_XMEGA6,
323 "atxmega256d3" => elf::EF_AVR_ARCH_XMEGA6,
324 "atxmega384c3" => elf::EF_AVR_ARCH_XMEGA6,
325 "atxmega384d3" => elf::EF_AVR_ARCH_XMEGA6,
326 "atxmega128a1" => elf::EF_AVR_ARCH_XMEGA7,
327 "atxmega128a1u" => elf::EF_AVR_ARCH_XMEGA7,
328 "atxmega128a4u" => elf::EF_AVR_ARCH_XMEGA7,
329 "attiny4" => elf::EF_AVR_ARCH_AVRTINY,
330 "attiny5" => elf::EF_AVR_ARCH_AVRTINY,
331 "attiny9" => elf::EF_AVR_ARCH_AVRTINY,
332 "attiny10" => elf::EF_AVR_ARCH_AVRTINY,
333 "attiny20" => elf::EF_AVR_ARCH_AVRTINY,
334 "attiny40" => elf::EF_AVR_ARCH_AVRTINY,
335 "attiny102" => elf::EF_AVR_ARCH_AVRTINY,
336 "attiny104" => elf::EF_AVR_ARCH_AVRTINY,
337 "attiny202" => elf::EF_AVR_ARCH_XMEGA3,
338 "attiny402" => elf::EF_AVR_ARCH_XMEGA3,
339 "attiny204" => elf::EF_AVR_ARCH_XMEGA3,
340 "attiny404" => elf::EF_AVR_ARCH_XMEGA3,
341 "attiny804" => elf::EF_AVR_ARCH_XMEGA3,
342 "attiny1604" => elf::EF_AVR_ARCH_XMEGA3,
343 "attiny406" => elf::EF_AVR_ARCH_XMEGA3,
344 "attiny806" => elf::EF_AVR_ARCH_XMEGA3,
345 "attiny1606" => elf::EF_AVR_ARCH_XMEGA3,
346 "attiny807" => elf::EF_AVR_ARCH_XMEGA3,
347 "attiny1607" => elf::EF_AVR_ARCH_XMEGA3,
348 "attiny212" => elf::EF_AVR_ARCH_XMEGA3,
349 "attiny412" => elf::EF_AVR_ARCH_XMEGA3,
350 "attiny214" => elf::EF_AVR_ARCH_XMEGA3,
351 "attiny414" => elf::EF_AVR_ARCH_XMEGA3,
352 "attiny814" => elf::EF_AVR_ARCH_XMEGA3,
353 "attiny1614" => elf::EF_AVR_ARCH_XMEGA3,
354 "attiny416" => elf::EF_AVR_ARCH_XMEGA3,
355 "attiny816" => elf::EF_AVR_ARCH_XMEGA3,
356 "attiny1616" => elf::EF_AVR_ARCH_XMEGA3,
357 "attiny3216" => elf::EF_AVR_ARCH_XMEGA3,
358 "attiny417" => elf::EF_AVR_ARCH_XMEGA3,
359 "attiny817" => elf::EF_AVR_ARCH_XMEGA3,
360 "attiny1617" => elf::EF_AVR_ARCH_XMEGA3,
361 "attiny3217" => elf::EF_AVR_ARCH_XMEGA3,
362 "attiny1624" => elf::EF_AVR_ARCH_XMEGA3,
363 "attiny1626" => elf::EF_AVR_ARCH_XMEGA3,
364 "attiny1627" => elf::EF_AVR_ARCH_XMEGA3,
365 "atmega808" => elf::EF_AVR_ARCH_XMEGA3,
366 "atmega809" => elf::EF_AVR_ARCH_XMEGA3,
367 "atmega1608" => elf::EF_AVR_ARCH_XMEGA3,
368 "atmega1609" => elf::EF_AVR_ARCH_XMEGA3,
369 "atmega3208" => elf::EF_AVR_ARCH_XMEGA3,
370 "atmega3209" => elf::EF_AVR_ARCH_XMEGA3,
371 "atmega4808" => elf::EF_AVR_ARCH_XMEGA3,
372 "atmega4809" => elf::EF_AVR_ARCH_XMEGA3,
373
374 _ => 0,
376 }
377}