Newer
Older
#![allow(non_camel_case_types)]
#![feature(alloc)]
#![feature(allocator_api)]
#![feature(core_intrinsics)]
#![feature(extern_prelude)]
#![feature(panic_implementation)]
#[macro_use]
extern crate alloc;
#[macro_use]
extern crate lazy_static;
extern crate rand;
extern crate va_list;
#[cfg(target_os = "linux")]
#[macro_use]
extern crate sc;
#[cfg(target_os = "redox")]
extern crate syscall;
#[cfg(target_os = "redox")]
extern crate spin;
pub mod header;
pub mod platform;
use platform::{Allocator, Pal, Sys};
#[global_allocator]
static ALLOCATOR: Allocator = Allocator;
#[panic_implementation]
pub extern "C" fn rust_begin_unwind(pi: &::core::panic::PanicInfo) -> ! {
let mut w = platform::FileWriter(2);
let _ = w.write_fmt(format_args!("RELIBC PANIC: {}\n", pi));
#[cfg(not(test))]
#[lang = "eh_personality"]
#[no_mangle]
#[linkage = "weak"]
pub extern "C" fn rust_eh_personality() {}
#[lang = "oom"]
let mut w = platform::FileWriter(2);
let _ = w.write_fmt(format_args!(
"RELIBC OOM: {} bytes aligned to {} bytes\n",
layout.size(),
layout.align()
));
#[cfg(not(test))]
#[allow(non_snake_case)]
#[linkage = "weak"]
#[no_mangle]
pub extern "C" fn _Unwind_Resume() -> ! {
use core::fmt::Write;
let mut w = platform::FileWriter(2);
let _ = w.write_str("_Unwind_Resume\n");