]> git.lizzy.rs Git - rust.git/blob - src/librustc_target/spec/riscv64gc_unknown_none_elf.rs
Auto merge of #68414 - michaelwoerister:share-drop-glue, r=alexcrichton
[rust.git] / src / librustc_target / spec / riscv64gc_unknown_none_elf.rs
1 use crate::spec::{LinkerFlavor, LldFlavor, PanicStrategy, Target, TargetOptions, TargetResult};
2
3 pub fn target() -> TargetResult {
4     Ok(Target {
5         data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".to_string(),
6         llvm_target: "riscv64".to_string(),
7         target_endian: "little".to_string(),
8         target_pointer_width: "64".to_string(),
9         target_c_int_width: "32".to_string(),
10         target_os: "none".to_string(),
11         target_env: String::new(),
12         target_vendor: "unknown".to_string(),
13         arch: "riscv64".to_string(),
14         linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
15
16         options: TargetOptions {
17             linker: Some("rust-lld".to_string()),
18             cpu: "generic-rv64".to_string(),
19             max_atomic_width: Some(64),
20             atomic_cas: true,
21             features: "+m,+a,+f,+d,+c".to_string(),
22             executables: true,
23             panic_strategy: PanicStrategy::Abort,
24             relocation_model: "static".to_string(),
25             code_model: Some("medium".to_string()),
26             emit_debug_gdb_scripts: false,
27             abi_blacklist: super::riscv_base::abi_blacklist(),
28             eliminate_frame_pointer: false,
29             ..Default::default()
30         },
31     })
32 }