rustc_target/spec/targets/
armv7_rtems_eabihf.rs

1use crate::spec::{
2    Cc, FloatAbi, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions, cvs,
3};
4
5pub(crate) fn target() -> Target {
6    Target {
7        llvm_target: "armv7-unknown-none-eabihf".into(),
8        metadata: crate::spec::TargetMetadata {
9            description: Some("Armv7 RTEMS (Requires RTEMS toolchain and kernel".into()),
10            tier: Some(3),
11            host_tools: Some(false),
12            std: Some(true),
13        },
14        pointer_width: 32,
15        data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),
16        arch: "arm".into(),
17
18        options: TargetOptions {
19            os: "rtems".into(),
20            families: cvs!["unix"],
21            abi: "eabihf".into(),
22            llvm_floatabi: Some(FloatAbi::Hard),
23            linker_flavor: LinkerFlavor::Gnu(Cc::Yes, Lld::No),
24            linker: None,
25            relocation_model: RelocModel::Static,
26            panic_strategy: PanicStrategy::Unwind,
27            features: "+thumb2,+neon,+vfp3".into(),
28            max_atomic_width: Some(64),
29            emit_debug_gdb_scripts: false,
30            // GCC defaults to 8 for arm-none here.
31            c_enum_min_bits: Some(8),
32            eh_frame_header: false,
33            no_default_libraries: false,
34            env: "newlib".into(),
35            ..Default::default()
36        },
37    }
38}