lib.rs 978 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #![no_std]
  2. #![feature(lang_items)]
  3. extern crate compiler_builtins;
  4. extern crate platform;
  5. extern crate ctype;
  6. extern crate errno;
  7. extern crate fcntl;
  8. extern crate grp;
  9. extern crate mman;
  10. extern crate semaphore;
  11. extern crate stat;
  12. extern crate stdio;
  13. extern crate stdlib;
  14. extern crate string;
  15. extern crate sys_time;
  16. extern crate time;
  17. extern crate unistd;
  18. extern crate wctype;
  19. #[lang = "eh_personality"]
  20. #[no_mangle]
  21. pub extern "C" fn rust_eh_personality() {}
  22. #[lang = "panic_fmt"]
  23. #[no_mangle]
  24. pub extern "C" fn rust_begin_unwind(fmt: ::core::fmt::Arguments, file: &str, line: u32) -> ! {
  25. use core::fmt::Write;
  26. let mut w = platform::FileWriter(2);
  27. let _ = w.write_fmt(format_args!("{}:{}: {}\n", file, line, fmt));
  28. platform::exit(1);
  29. }
  30. #[allow(non_snake_case)]
  31. #[no_mangle]
  32. pub extern "C" fn _Unwind_Resume() -> ! {
  33. use core::fmt::Write;
  34. let mut w = platform::FileWriter(2);
  35. let _ = w.write_str("_Unwind_Resume\n");
  36. platform::exit(1);
  37. }