rustc_target/spec/targets/
sparc_unknown_none_elf.rs

1use rustc_abi::Endian;
2
3use crate::spec::{Cc, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions};
4
5pub(crate) fn target() -> Target {
6    let options = TargetOptions {
7        linker_flavor: LinkerFlavor::Gnu(Cc::Yes, Lld::No),
8        linker: Some("sparc-elf-gcc".into()),
9        endian: Endian::Big,
10        cpu: "v7".into(),
11        max_atomic_width: Some(32),
12        atomic_cas: true,
13        panic_strategy: PanicStrategy::Abort,
14        relocation_model: RelocModel::Static,
15        no_default_libraries: false,
16        emit_debug_gdb_scripts: false,
17        eh_frame_header: false,
18        ..Default::default()
19    };
20    Target {
21        data_layout: "E-m:e-p:32:32-i64:64-i128:128-f128:64-n32-S64".into(),
22        llvm_target: "sparc-unknown-none-elf".into(),
23        metadata: crate::spec::TargetMetadata {
24            description: Some("Bare 32-bit SPARC V7+".into()),
25            tier: Some(3),
26            host_tools: Some(false),
27            std: Some(false),
28        },
29        pointer_width: 32,
30        arch: "sparc".into(),
31        options,
32    }
33}