]> git.lizzy.rs Git - rust.git/blob - src/librustc_target/spec/riscv32imc_unknown_none_elf.rs
Rollup merge of #61629 - petrochenkov:stdmac, r=alexcrichton
[rust.git] / src / librustc_target / spec / riscv32imc_unknown_none_elf.rs
1 use crate::spec::{LinkerFlavor, LldFlavor, PanicStrategy,
2            Target, TargetOptions, TargetResult};
3
4 pub fn target() -> TargetResult {
5     Ok(Target {
6         data_layout: "e-m:e-p:32:32-i64:64-n32-S128".to_string(),
7         llvm_target: "riscv32".to_string(),
8         target_endian: "little".to_string(),
9         target_pointer_width: "32".to_string(),
10         target_c_int_width: "32".to_string(),
11         target_os: "none".to_string(),
12         target_env: String::new(),
13         target_vendor: "unknown".to_string(),
14         arch: "riscv32".to_string(),
15         linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
16
17         options: TargetOptions {
18             linker: Some("rust-lld".to_string()),
19             cpu: "generic-rv32".to_string(),
20             // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86005
21             max_atomic_width: None, //Some(32),
22             atomic_cas: false,
23             features: "+m,+c".to_string(),
24             executables: true,
25             panic_strategy: PanicStrategy::Abort,
26             relocation_model: "static".to_string(),
27             emit_debug_gdb_scripts: false,
28             abi_blacklist: super::riscv_base::abi_blacklist(),
29             .. Default::default()
30         },
31     })
32 }