File tree Expand file tree Collapse file tree 3 files changed +26
-0
lines changed
compiler/rustc_target/src/spec Expand file tree Collapse file tree 3 files changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -641,6 +641,7 @@ supported_targets! {
641641 ( "powerpc64le-unknown-linux-gnu" , powerpc64le_unknown_linux_gnu) ,
642642 ( "powerpc64le-unknown-linux-musl" , powerpc64le_unknown_linux_musl) ,
643643 ( "s390x-unknown-linux-gnu" , s390x_unknown_linux_gnu) ,
644+ ( "s390x-unknown-linux-musl" , s390x_unknown_linux_musl) ,
644645 ( "sparc-unknown-linux-gnu" , sparc_unknown_linux_gnu) ,
645646 ( "sparc64-unknown-linux-gnu" , sparc64_unknown_linux_gnu) ,
646647 ( "arm-unknown-linux-gnueabi" , arm_unknown_linux_gnueabi) ,
Original file line number Diff line number Diff line change 1+ use crate :: abi:: Endian ;
2+ use crate :: spec:: Target ;
3+
4+ pub fn target ( ) -> Target {
5+ let mut base = super :: linux_musl_base:: opts ( ) ;
6+ base. endian = Endian :: Big ;
7+ // z10 is the oldest CPU supported by LLVM
8+ base. cpu = "z10" . to_string ( ) ;
9+ // FIXME: The data_layout string below and the ABI implementation in
10+ // cabi_s390x.rs are for now hard-coded to assume the no-vector ABI.
11+ // Pass the -vector feature string to LLVM to respect this assumption.
12+ base. features = "-vector" . to_string ( ) ;
13+ base. max_atomic_width = Some ( 64 ) ;
14+ base. min_global_align = Some ( 16 ) ;
15+ base. static_position_independent_executables = true ;
16+
17+ Target {
18+ llvm_target : "s390x-unknown-linux-musl" . to_string ( ) ,
19+ pointer_width : 64 ,
20+ data_layout : "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-a:8:16-n32:64" . to_string ( ) ,
21+ arch : "s390x" . to_string ( ) ,
22+ options : base,
23+ }
24+ }
Original file line number Diff line number Diff line change @@ -208,6 +208,7 @@ target | std | host | notes
208208` riscv64gc-unknown-linux-musl ` | | | RISC-V Linux (kernel 4.20, musl 1.2.0)
209209` riscv32gc-unknown-linux-gnu ` | | | RISC-V Linux (kernel 5.4, glibc 2.33)
210210` riscv32gc-unknown-linux-musl ` | | | RISC-V Linux (kernel 5.4, musl + RISCV32 support patches)
211+ ` s390x-unknown-linux-musl ` | | | S390x Linux (kernel 2.6.32, MUSL)
211212` sparc-unknown-linux-gnu ` | ✓ | | 32-bit SPARC Linux
212213` sparc64-unknown-netbsd ` | ✓ | ✓ | NetBSD/sparc64
213214` sparc64-unknown-openbsd ` | ? | |
You can’t perform that action at this time.
0 commit comments