diff --git a/src/librustc_back/target/s390x_unknown_linux_gnu.rs b/src/librustc_back/target/s390x_unknown_linux_gnu.rs index 6e2dd6cd67c93..671fb4f4319b3 100644 --- a/src/librustc_back/target/s390x_unknown_linux_gnu.rs +++ b/src/librustc_back/target/s390x_unknown_linux_gnu.rs @@ -19,6 +19,8 @@ pub fn target() -> TargetResult { // Pass the -vector feature string to LLVM to respect this assumption. base.features = "-vector".to_string(); base.max_atomic_width = Some(64); + // see #36994 + base.exe_allocation_crate = "alloc_system".to_string(); Ok(Target { llvm_target: "s390x-unknown-linux-gnu".to_string(), diff --git a/src/test/compile-fail/allocator-rust-dylib-is-jemalloc.rs b/src/test/compile-fail/allocator-rust-dylib-is-jemalloc.rs index 02c271ab24da3..5d566c0e0b4c7 100644 --- a/src/test/compile-fail/allocator-rust-dylib-is-jemalloc.rs +++ b/src/test/compile-fail/allocator-rust-dylib-is-jemalloc.rs @@ -29,9 +29,11 @@ extern crate allocator_dylib2; // ensure we get the same error. // // So long as we CI linux/OSX we should be good. -#[cfg(any(target_os = "linux", target_os = "macos"))] +#[cfg(any(all(target_os = "linux", any(target_arch = "x86", target_arch = "x86_64")), + target_os = "macos"))] extern crate alloc_system; -#[cfg(not(any(target_os = "linux", target_os = "macos")))] +#[cfg(not(any(all(target_os = "linux", any(target_arch = "x86", target_arch = "x86_64")), + target_os = "macos")))] extern crate allocator1; fn main() { diff --git a/src/test/run-pass/allocator-default.rs b/src/test/run-pass/allocator-default.rs index 32ed2b330118d..0a02e8072b9b3 100644 --- a/src/test/run-pass/allocator-default.rs +++ b/src/test/run-pass/allocator-default.rs @@ -10,7 +10,8 @@ #![feature(alloc_jemalloc)] -#[cfg(any(target_os = "linux", target_os = "macos"))] +#[cfg(any(all(target_os = "linux", any(target_arch = "x86", target_arch = "x86_64")), + target_os = "macos"))] extern crate alloc_jemalloc; fn main() {