diff --git a/.cargo/config.toml b/.cargo/config.toml index 1ccc48b..22dd7c6 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,5 +1,7 @@ [unstable] build-std = ["core", "compiler_builtins", "alloc"] +build-std-features = ["compiler-builtins-mem"] + [build] # https://internals.rust-lang.org/t/evaluating-pipelined-rustc-compilation/10199/12 pipelining = true diff --git a/Cargo.lock b/Cargo.lock index 5418063..9545f3e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -72,12 +72,6 @@ dependencies = [ "tock-registers", ] -[[package]] -name = "rlibc" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc874b127765f014d792f16763a81245ab80500e2ad921ed4ee9e82481ee08fe" - [[package]] name = "snafu" version = "0.6.9" @@ -145,7 +139,6 @@ dependencies = [ "qemu-exit", "r0", "register", - "rlibc", "snafu", "usize_conversions", "ux", diff --git a/README.md b/README.md index 0bf55aa..1a9b6f9 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Vesper has been influenced by the kernels in L4 family, notably seL4. Fawn and N ## Build instructions -Use at least rustc nightly 2020-07-15 with cargo nightly of the same or later date. It adds support for `cargo build --build-std` feature. +Use at least rustc nightly 2020-09-30 with cargo nightly of the same or later date. It adds support for `cargo build --build-std` feature (since 2020-07-15) and support for compiler_builtins memory operations ([since 2020-09-30](https://github.com/rust-lang/rust/pull/77284)). * Install tools: `cargo install just cargo-make`. * Install qemu (at least version 4.1.1): `brew install qemu`. diff --git a/nucleus/Cargo.toml b/nucleus/Cargo.toml index 1b66511..1b2eca7 100644 --- a/nucleus/Cargo.toml +++ b/nucleus/Cargo.toml @@ -25,7 +25,6 @@ qemu = ["qemu-exit"] [dependencies] r0 = "1.0" -rlibc = "1.0" qemu-exit = { version = "1.0", optional = true } cortex-a = "4.0" ux = { version = "0.1.3", default-features = false } diff --git a/nucleus/src/main.rs b/nucleus/src/main.rs index 2b85277..ea2ca2e 100644 --- a/nucleus/src/main.rs +++ b/nucleus/src/main.rs @@ -25,8 +25,6 @@ #[cfg(not(target_arch = "aarch64"))] use architecture_not_supported_sorry; -extern crate rlibc; // To enable linking memory intrinsics. - /// Architecture-specific code. #[macro_use] pub mod arch;