//! Intrinsics for panic handling use interrupt; #[lang = "eh_personality"] #[no_mangle] pub extern "C" fn rust_eh_personality() {} /// Required to handle panics #[lang = "panic_fmt"] #[no_mangle] pub extern "C" fn rust_begin_unwind(fmt: ::core::fmt::Arguments, file: &str, line: u32) -> ! { println!("PANIC: {}", fmt); println!("FILE: {}", file); println!("LINE: {}", line); unsafe { interrupt::stack_trace(); } println!("HALT"); loop { unsafe { interrupt::halt(); } } } #[allow(non_snake_case)] #[no_mangle] /// Required to handle panics pub extern "C" fn _Unwind_Resume() -> ! { loop { unsafe { interrupt::halt(); } } }