File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed
compiler/rustc_target/src/spec Expand file tree Collapse file tree 2 files changed +25
-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+ }
You can’t perform that action at this time.
0 commit comments