syscall-linux-raw 0.0.2

Defines syscallN methods for performing raw Linux syscalls
Documentation
//! Demonstrates basic assembling for a full program.
#![no_std]
#![no_main]

fn exit() -> ! {
    unsafe {
        syscall_linux_raw::syscall1(syscall_linux_raw::SysNr(60), 0);
        core::hint::unreachable_unchecked();
    }
}

fn write(fd: usize, buf: &[u8]) {
    unsafe {
        syscall_linux_raw::syscall3(syscall_linux_raw::SysNr(1), fd as isize, buf.as_ptr() as isize, buf.len() as isize);
    }
}

#[no_mangle]
pub extern fn main() {
    write(1, "Hello, world!\n".as_bytes());
}

use core::panic::PanicInfo;

#[panic_handler]
fn panic(_info: &PanicInfo) -> ! {
    loop {}
}

#[no_mangle] fn __libc_csu_fini() {}
#[no_mangle] fn __libc_csu_init() {}
#[no_mangle] fn __libc_start_main() -> ! { main(); exit() }