Provide memory intrinsics via compiler builtins
Use unstable feature to remove rlibc crate dependency.
This commit is contained in:
parent
bfba78118f
commit
dc2a73f6c6
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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`.
|
||||
|
|
|
@ -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 }
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue