diff --git a/src/platform/src/alloc/dlmalloc.rs b/src/platform/src/allocator/dlmalloc.rs similarity index 100% rename from src/platform/src/alloc/dlmalloc.rs rename to src/platform/src/allocator/dlmalloc.rs diff --git a/src/platform/src/alloc/ralloc.rs b/src/platform/src/allocator/ralloc.rs similarity index 100% rename from src/platform/src/alloc/ralloc.rs rename to src/platform/src/allocator/ralloc.rs diff --git a/src/platform/src/lib.rs b/src/platform/src/lib.rs index ebc77989e0f5c9ce0048c4921688371221dea504..5d95b235f1207cc4544b0611246fc98027909e92 100644 --- a/src/platform/src/lib.rs +++ b/src/platform/src/lib.rs @@ -1,8 +1,11 @@ #![no_std] #![allow(non_camel_case_types)] +#![feature(alloc)] #![feature(allocator_api)] //TODO #![feature(thread_local)] +extern crate alloc; + #[cfg(all(not(feature = "no_std"), target_os = "linux"))] #[macro_use] extern crate sc; @@ -11,15 +14,15 @@ extern crate sc; #[macro_use] pub extern crate syscall; -pub use alloc::*; +pub use allocator::*; #[cfg(not(feature = "ralloc"))] -#[path = "alloc/dlmalloc.rs"] -mod alloc; +#[path = "allocator/dlmalloc.rs"] +mod allocator; #[cfg(feature = "ralloc")] -#[path = "alloc/ralloc.rs"] -mod alloc; +#[path = "allocator/ralloc.rs"] +mod allocator; pub use sys::*; diff --git a/src/platform/src/redox/mod.rs b/src/platform/src/redox/mod.rs index 841fd17202cdc881953fc934135f3d7fd67ef16a..a6db080e005eb684edea23c79bd21194600604a0 100644 --- a/src/platform/src/redox/mod.rs +++ b/src/platform/src/redox/mod.rs @@ -23,7 +23,7 @@ pub fn e(sys: Result<usize, syscall::Error>) -> usize { } pub fn brk(addr: *mut c_void) -> *mut c_void { - unsafe { syscall::brk(addr as usize) } as *mut c_void + unsafe { syscall::brk(addr as usize).unwrap_or(0) as *mut c_void } } pub fn chdir(path: *const c_char) -> c_int {