Skip to content

Latest commit

 

History

History
37 lines (26 loc) · 1.22 KB

README.md

File metadata and controls

37 lines (26 loc) · 1.22 KB

Workflow Status Average time to resolve an issue Percentage of issues still open Maintenance

crt0stack

Create the initial stack frame to start an ELF binary on Linux

Examples

use crt0stack::{Builder, Entry};

let mut stack = [1u8; 512];
let stack = stack.as_mut();

let mut builder = Builder::new(stack);

builder.push("/init").unwrap();
let mut builder = builder.done().unwrap();

builder.push("HOME=/root").unwrap();
let mut builder = builder.done().unwrap();

let auxv = [
    Entry::Gid(1000),
    Entry::Uid(1000),
    Entry::Platform("x86_64"),
    Entry::ExecFilename("/init"),
];
auxv.iter().for_each(|e| builder.push(e).unwrap());

let handle = builder.done().unwrap();

License: Apache-2.0