Rollup merge of #66661 - msizanoen1:riscv-gnu, r=alexcrichton
Add riscv64gc-unknown-linux-gnu target This PR add the target, but doesn't build std on CI yet. I have a port for `libc` crate and std which I will upstream soon after this target is added. r? @alexcrichton
This commit is contained in:
commit
a49f23e05d
@ -487,6 +487,7 @@ fn $module() {
|
||||
("riscv32imac-unknown-none-elf", riscv32imac_unknown_none_elf),
|
||||
("riscv64imac-unknown-none-elf", riscv64imac_unknown_none_elf),
|
||||
("riscv64gc-unknown-none-elf", riscv64gc_unknown_none_elf),
|
||||
("riscv64gc-unknown-linux-gnu", riscv64gc_unknown_linux_gnu),
|
||||
|
||||
("aarch64-unknown-none", aarch64_unknown_none),
|
||||
("aarch64-unknown-none-softfloat", aarch64_unknown_none_softfloat),
|
||||
|
25
src/librustc_target/spec/riscv64gc_unknown_linux_gnu.rs
Normal file
25
src/librustc_target/spec/riscv64gc_unknown_linux_gnu.rs
Normal file
@ -0,0 +1,25 @@
|
||||
use crate::spec::{LinkerFlavor, Target, TargetOptions, TargetResult};
|
||||
|
||||
pub fn target() -> TargetResult {
|
||||
Ok(Target {
|
||||
llvm_target: "riscv64-unknown-linux-gnu".to_string(),
|
||||
target_endian: "little".to_string(),
|
||||
target_pointer_width: "64".to_string(),
|
||||
target_c_int_width: "32".to_string(),
|
||||
target_env: "gnu".to_string(),
|
||||
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".to_string(),
|
||||
arch: "riscv64".to_string(),
|
||||
target_os: "linux".to_string(),
|
||||
target_vendor: "unknown".to_string(),
|
||||
linker_flavor: LinkerFlavor::Gcc,
|
||||
options: TargetOptions {
|
||||
abi_blacklist: super::riscv_base::abi_blacklist(),
|
||||
code_model: Some("medium".to_string()),
|
||||
cpu: "generic-rv64".to_string(),
|
||||
features: "+m,+a,+f,+d,+c".to_string(),
|
||||
llvm_abiname: "lp64d".to_string(),
|
||||
max_atomic_width: Some(64),
|
||||
..super::linux_base::opts()
|
||||
},
|
||||
})
|
||||
}
|
Loading…
Reference in New Issue
Block a user