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}