Add support for the rumprun unikernel

For most parts, rumprun currently looks like NetBSD, as they share the same
libc and drivers. However, being a unikernel, rumprun does not support
process management, signals or virtual memory, so related functions
might fail at runtime. Stack guards are disabled exactly for this reason.

Code for rumprun is always cross-compiled, it uses always static
linking and needs a custom linker.
This commit is contained in:
Sebastian Wicki
2015-09-21 19:16:24 +02:00
parent 6645ca1a85
commit c099cfab06
9 changed files with 85 additions and 6 deletions

View File

@@ -34,7 +34,7 @@ impl Drop for Handler {
#[cfg(any(target_os = "linux",
target_os = "macos",
target_os = "bitrig",
target_os = "netbsd",
all(target_os = "netbsd", not(target_vendor = "rumprun")),
target_os = "openbsd"))]
mod imp {
use super::Handler;
@@ -143,7 +143,7 @@ mod imp {
#[cfg(not(any(target_os = "linux",
target_os = "macos",
target_os = "bitrig",
target_os = "netbsd",
all(target_os = "netbsd", not(target_vendor = "rumprun")),
target_os = "openbsd")))]
mod imp {
use ptr;