mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-16 17:03:35 +00:00
compiler: Add x86_64-unikraft-linux-musl
target
Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
This commit is contained in:
parent
48c0c25395
commit
bb77aa845b
@ -85,6 +85,7 @@ mod solaris_base;
|
||||
mod solid_base;
|
||||
mod thumb_base;
|
||||
mod uefi_msvc_base;
|
||||
mod unikraft_linux_musl_base;
|
||||
mod vxworks_base;
|
||||
mod wasm_base;
|
||||
mod windows_gnu_base;
|
||||
@ -1421,6 +1422,8 @@ supported_targets! {
|
||||
("riscv64gc-unknown-hermit", riscv64gc_unknown_hermit),
|
||||
("x86_64-unknown-hermit", x86_64_unknown_hermit),
|
||||
|
||||
("x86_64-unikraft-linux-musl", x86_64_unikraft_linux_musl),
|
||||
|
||||
("riscv32i-unknown-none-elf", riscv32i_unknown_none_elf),
|
||||
("riscv32im-unknown-none-elf", riscv32im_unknown_none_elf),
|
||||
("riscv32imc-unknown-none-elf", riscv32imc_unknown_none_elf),
|
||||
|
15
compiler/rustc_target/src/spec/unikraft_linux_musl_base.rs
Normal file
15
compiler/rustc_target/src/spec/unikraft_linux_musl_base.rs
Normal file
@ -0,0 +1,15 @@
|
||||
use crate::spec::{cvs, PanicStrategy, RelocModel, TargetOptions};
|
||||
|
||||
pub fn opts() -> TargetOptions {
|
||||
TargetOptions {
|
||||
os: "linux".into(),
|
||||
env: "musl".into(),
|
||||
vendor: "unikraft".into(),
|
||||
linker: Some("kraftld".into()),
|
||||
relocation_model: RelocModel::Static,
|
||||
families: cvs!["unix"],
|
||||
has_thread_local: true,
|
||||
panic_strategy: PanicStrategy::Abort,
|
||||
..Default::default()
|
||||
}
|
||||
}
|
19
compiler/rustc_target/src/spec/x86_64_unikraft_linux_musl.rs
Normal file
19
compiler/rustc_target/src/spec/x86_64_unikraft_linux_musl.rs
Normal file
@ -0,0 +1,19 @@
|
||||
use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
Target {
|
||||
llvm_target: "x86_64-unknown-linux-musl".into(),
|
||||
pointer_width: 64,
|
||||
arch: "x86_64".into(),
|
||||
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
||||
.into(),
|
||||
options: TargetOptions {
|
||||
cpu: "x86-64".into(),
|
||||
plt_by_default: false,
|
||||
pre_link_args: TargetOptions::link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m64"]),
|
||||
max_atomic_width: Some(64),
|
||||
stack_probes: StackProbeType::X86,
|
||||
..super::unikraft_linux_musl_base::opts()
|
||||
},
|
||||
}
|
||||
}
|
@ -131,6 +131,8 @@ const EXTRA_CHECK_CFGS: &[(Option<Mode>, &'static str, Option<&[&'static str]>)]
|
||||
(Some(Mode::Std), "freebsd13", None),
|
||||
(Some(Mode::Std), "backtrace_in_libstd", None),
|
||||
/* Extra values not defined in the built-in targets yet, but used in std */
|
||||
// #[cfg(bootstrap)]
|
||||
(Some(Mode::Std), "target_vendor", Some(&["unikraft"])),
|
||||
(Some(Mode::Std), "target_env", Some(&["libnx"])),
|
||||
// (Some(Mode::Std), "target_os", Some(&[])),
|
||||
// #[cfg(bootstrap)] mips32r6, mips64r6
|
||||
|
@ -148,6 +148,7 @@ static TARGETS: &[&str] = &[
|
||||
"x86_64-pc-windows-msvc",
|
||||
"x86_64-sun-solaris",
|
||||
"x86_64-pc-solaris",
|
||||
"x86_64-unikraft-linux-musl",
|
||||
"x86_64-unknown-freebsd",
|
||||
"x86_64-unknown-illumos",
|
||||
"x86_64-unknown-linux-gnu",
|
||||
|
Loading…
Reference in New Issue
Block a user