rustc_target/spec/targets/
csky_unknown_linux_gnuabiv2hf.rs
1use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions, base};
2
3pub(crate) fn target() -> Target {
6 Target {
7 llvm_target: "csky-unknown-linux-gnuabiv2".into(),
9 metadata: crate::spec::TargetMetadata {
10 description: Some("C-SKY abiv2 Linux, hardfloat (little endian)".into()),
11 tier: Some(3),
12 host_tools: Some(false),
13 std: Some(true)
14 },
15 pointer_width: 32,
16 data_layout: "e-m:e-S32-p:32:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:32:32-v128:32:32-a:0:32-Fi32-n32".into(),
17 arch: "csky".into(),
18 options: TargetOptions {
19 abi: "abiv2hf".into(),
20 cpu: "ck860fv".into(),
21 features: "+hard-float,+hard-float-abi,+2e3,+3e7,+7e10,+cache,+dsp1e2,+dspe60,+e1,+e2,+edsp,+elrw,+hard-tp,+high-registers,+hwdiv,+mp,+mp1e2,+nvic,+trust".into(),
22 late_link_args: TargetOptions::link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-l:libatomic.a", "-mhard-float"]),
23 max_atomic_width: Some(32),
24 ..base::linux_gnu::opts()
25 },
26 }
27}