From e8cbcef86e33b7d3ffeda9be8797eebaac3eac28 Mon Sep 17 00:00:00 2001 From: Oliver Middleton Date: Sun, 1 May 2016 13:16:06 +0100 Subject: [PATCH] Fix alloc_jemalloc on windows gnu targets jemalloc prefixes the symbols by default on Windows so we need to account for that to avoid link errors such as: `undefined reference to `mallocx'` when using alloc_jemalloc. --- src/liballoc_jemalloc/lib.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/liballoc_jemalloc/lib.rs b/src/liballoc_jemalloc/lib.rs index 3a30bebec54..7651d91c06d 100644 --- a/src/liballoc_jemalloc/lib.rs +++ b/src/liballoc_jemalloc/lib.rs @@ -41,28 +41,28 @@ use libc::{c_int, c_void, size_t}; #[cfg(not(cargobuild))] extern {} -// Note that the symbols here are prefixed by default on OSX (we don't -// explicitly request it), and on Android and DragonFly we explicitly request -// it as unprefixing cause segfaults (mismatches in allocators). +// Note that the symbols here are prefixed by default on OSX and Windows (we +// don't explicitly request it), and on Android and DragonFly we explicitly +// request it as unprefixing cause segfaults (mismatches in allocators). extern { #[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios", - target_os = "dragonfly"), + target_os = "dragonfly", target_os = "windows"), link_name = "je_mallocx")] fn mallocx(size: size_t, flags: c_int) -> *mut c_void; #[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios", - target_os = "dragonfly"), + target_os = "dragonfly", target_os = "windows"), link_name = "je_rallocx")] fn rallocx(ptr: *mut c_void, size: size_t, flags: c_int) -> *mut c_void; #[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios", - target_os = "dragonfly"), + target_os = "dragonfly", target_os = "windows"), link_name = "je_xallocx")] fn xallocx(ptr: *mut c_void, size: size_t, extra: size_t, flags: c_int) -> size_t; #[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios", - target_os = "dragonfly"), + target_os = "dragonfly", target_os = "windows"), link_name = "je_sdallocx")] fn sdallocx(ptr: *mut c_void, size: size_t, flags: c_int); #[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios", - target_os = "dragonfly"), + target_os = "dragonfly", target_os = "windows"), link_name = "je_nallocx")] fn nallocx(size: size_t, flags: c_int) -> size_t; }