Add riscv64gc-unknown-freebsd
This commit is contained in:
@@ -277,7 +277,7 @@ fn main() {
|
||||
};
|
||||
|
||||
// RISC-V requires libatomic for sub-word atomic operations
|
||||
if target.starts_with("riscv") {
|
||||
if !target.contains("freebsd") && target.starts_with("riscv") {
|
||||
println!("cargo:rustc-link-lib=atomic");
|
||||
}
|
||||
|
||||
|
||||
@@ -813,6 +813,7 @@ supported_targets! {
|
||||
("powerpc-unknown-freebsd", powerpc_unknown_freebsd),
|
||||
("powerpc64-unknown-freebsd", powerpc64_unknown_freebsd),
|
||||
("powerpc64le-unknown-freebsd", powerpc64le_unknown_freebsd),
|
||||
("riscv64gc-unknown-freebsd", riscv64gc_unknown_freebsd),
|
||||
("x86_64-unknown-freebsd", x86_64_unknown_freebsd),
|
||||
|
||||
("x86_64-unknown-dragonfly", x86_64_unknown_dragonfly),
|
||||
|
||||
18
compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
Normal file
18
compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
Normal file
@@ -0,0 +1,18 @@
|
||||
use crate::spec::{CodeModel, Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
llvm_target: "riscv64-unknown-freebsd".to_string(),
|
||||
pointer_width: 64,
|
||||
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".to_string(),
|
||||
arch: "riscv64".to_string(),
|
||||
options: TargetOptions {
|
||||
code_model: Some(CodeModel::Medium),
|
||||
cpu: "generic-rv64".to_string(),
|
||||
features: "+m,+a,+f,+d,+c".to_string(),
|
||||
llvm_abiname: "lp64d".to_string(),
|
||||
max_atomic_width: Some(64),
|
||||
..super::freebsd_base::opts()
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user