From 458ba7aeb5c1ad3e18dd5c0fe261e1004dbb7a42 Mon Sep 17 00:00:00 2001 From: Aidan Hobson Sayers Date: Tue, 1 Aug 2017 15:37:10 +0100 Subject: [PATCH] Make a disable-jemalloc build work Fixes #43510 --- src/libstd/lib.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index bd9c9c747848..8850a8a5582d 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -318,6 +318,16 @@ #![default_lib_allocator] +// Always use alloc_system during stage0 since we don't know if the alloc_* +// crate the stage0 compiler will pick by default is available (most +// obviously, if the user has disabled jemalloc in `./configure`). +// `force_alloc_system` is *only* intended as a workaround for local rebuilds +// with a rustc without jemalloc. +#![cfg_attr(any(stage0, feature = "force_alloc_system"), feature(global_allocator))] +#[cfg(any(stage0, feature = "force_alloc_system"))] +#[global_allocator] +static ALLOC: alloc_system::System = alloc_system::System; + // Explicitly import the prelude. The compiler uses this same unstable attribute // to import the prelude implicitly when building crates that depend on std. #[prelude_import]