I wrote a small library for making raw system calls from Rust programs. It provides a macro that expands into in-line system call instructions, with no run-time dependencies at all. Here's an example:
#![feature(phase)]
#[phase(plugin, link)]
extern crate syscall;
fn write(fd: uint, buf: &[u8]) {
unsafe {
syscall!(WRITE, fd, buf.as_ptr(), buf.len());
}
}
fn main() {
write(1, "Hello, world!\n".as_bytes());
}
Right now it only supports x86-64 Linux, but I'd love to add other platforms. Pull requests are much appreciated. :)