From 919ae09d2f6a0a65a1c225f9217dcc8e3ef8faa8 Mon Sep 17 00:00:00 2001 From: Jeremy Soller <jackpot51@gmail.com> Date: Wed, 4 Jul 2018 10:16:34 -0600 Subject: [PATCH] Fix compilation on Redox --- src/platform/src/{alloc => allocator}/dlmalloc.rs | 0 src/platform/src/{alloc => allocator}/ralloc.rs | 0 src/platform/src/lib.rs | 13 ++++++++----- src/platform/src/redox/mod.rs | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) rename src/platform/src/{alloc => allocator}/dlmalloc.rs (100%) rename src/platform/src/{alloc => allocator}/ralloc.rs (100%) 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 ebc77989..5d95b235 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 841fd172..a6db080e 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 { -- GitLab