Rollup merge of #82166 - kaniini:s390x-musl-target, r=nagisa
add s390x-unknown-linux-musl target This is the first step in bringup for Rust on s390x. The libc and std crates need modifications as well, but getting this upstream makes that work easier.
This commit is contained in:
commit
8979fd4237
3 changed files with 26 additions and 0 deletions
|
@ -641,6 +641,7 @@ supported_targets! {
|
|||
("powerpc64le-unknown-linux-gnu", powerpc64le_unknown_linux_gnu),
|
||||
("powerpc64le-unknown-linux-musl", powerpc64le_unknown_linux_musl),
|
||||
("s390x-unknown-linux-gnu", s390x_unknown_linux_gnu),
|
||||
("s390x-unknown-linux-musl", s390x_unknown_linux_musl),
|
||||
("sparc-unknown-linux-gnu", sparc_unknown_linux_gnu),
|
||||
("sparc64-unknown-linux-gnu", sparc64_unknown_linux_gnu),
|
||||
("arm-unknown-linux-gnueabi", arm_unknown_linux_gnueabi),
|
||||
|
|
24
compiler/rustc_target/src/spec/s390x_unknown_linux_musl.rs
Normal file
24
compiler/rustc_target/src/spec/s390x_unknown_linux_musl.rs
Normal file
|
@ -0,0 +1,24 @@
|
|||
use crate::abi::Endian;
|
||||
use crate::spec::Target;
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::linux_musl_base::opts();
|
||||
base.endian = Endian::Big;
|
||||
// z10 is the oldest CPU supported by LLVM
|
||||
base.cpu = "z10".to_string();
|
||||
// FIXME: The data_layout string below and the ABI implementation in
|
||||
// cabi_s390x.rs are for now hard-coded to assume the no-vector ABI.
|
||||
// Pass the -vector feature string to LLVM to respect this assumption.
|
||||
base.features = "-vector".to_string();
|
||||
base.max_atomic_width = Some(64);
|
||||
base.min_global_align = Some(16);
|
||||
base.static_position_independent_executables = true;
|
||||
|
||||
Target {
|
||||
llvm_target: "s390x-unknown-linux-musl".to_string(),
|
||||
pointer_width: 64,
|
||||
data_layout: "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-a:8:16-n32:64".to_string(),
|
||||
arch: "s390x".to_string(),
|
||||
options: base,
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue