about summary refs log tree commit diff
path: root/src/liballoc_jemalloc
diff options
context:
space:
mode:
authorOliver Middleton <olliemail27@gmail.com>2016-05-01 13:16:06 +0100
committerOliver Middleton <olliemail27@gmail.com>2016-05-01 13:16:06 +0100
commite8cbcef86e33b7d3ffeda9be8797eebaac3eac28 (patch)
tree88cca0ae539b6fde0f0ef9f4bccf1d2fe500276c /src/liballoc_jemalloc
parent2a815a26c8ce70e1aede585827c020d9775a8faf (diff)
downloadrust-e8cbcef86e33b7d3ffeda9be8797eebaac3eac28.tar.gz
rust-e8cbcef86e33b7d3ffeda9be8797eebaac3eac28.zip
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.
Diffstat (limited to 'src/liballoc_jemalloc')
-rw-r--r--src/liballoc_jemalloc/lib.rs16
1 files 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;
 }