Add riscv64gc-unknown-redox

Co-Authored-By: Jeremy Soller <jackpot51@gmail.com>
This commit is contained in:
bjorn3
2025-10-26 11:41:23 +00:00
parent bd61985bb6
commit fa0f1630d6
6 changed files with 33 additions and 0 deletions

View File

@@ -1553,6 +1553,7 @@ supported_targets! {
("aarch64-unknown-redox", aarch64_unknown_redox),
("i586-unknown-redox", i586_unknown_redox),
("riscv64gc-unknown-redox", riscv64gc_unknown_redox),
("x86_64-unknown-redox", x86_64_unknown_redox),
("x86_64-unknown-managarm-mlibc", x86_64_unknown_managarm_mlibc),

View File

@@ -0,0 +1,25 @@
use crate::spec::{CodeModel, Target, TargetMetadata, base};
pub(crate) fn target() -> Target {
let mut base = base::redox::opts();
base.code_model = Some(CodeModel::Medium);
base.cpu = "generic-rv64".into();
base.features = "+m,+a,+f,+d,+c".into();
base.llvm_abiname = "lp64d".into();
base.plt_by_default = false;
base.max_atomic_width = Some(64);
Target {
llvm_target: "riscv64-unknown-redox".into(),
metadata: TargetMetadata {
description: Some("Redox OS".into()),
tier: Some(3),
host_tools: Some(false),
std: Some(true),
},
pointer_width: 64,
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128".into(),
arch: "riscv64".into(),
options: base,
}
}