rustc_target/spec/targets/
avr_none.rs

1use crate::spec::{Cc, LinkerFlavor, Lld, RelocModel, Target, TargetOptions};
2
3pub(crate) fn target() -> Target {
4    Target {
5        arch: "avr".into(),
6        metadata: crate::spec::TargetMetadata {
7            description: None,
8            tier: None,
9            host_tools: None,
10            std: None,
11        },
12        data_layout: "e-P1-p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8".into(),
13        llvm_target: "avr-unknown-unknown".into(),
14        pointer_width: 16,
15        options: TargetOptions {
16            c_int_width: "16".into(),
17            exe_suffix: ".elf".into(),
18            linker: Some("avr-gcc".into()),
19            eh_frame_header: false,
20            pre_link_args: TargetOptions::link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &[]),
21            late_link_args: TargetOptions::link_args(
22                LinkerFlavor::Gnu(Cc::Yes, Lld::No),
23                &["-lgcc"],
24            ),
25            max_atomic_width: Some(16),
26            atomic_cas: false,
27            relocation_model: RelocModel::Static,
28            need_explicit_cpu: true,
29            ..TargetOptions::default()
30        },
31    }
32}