lib.rs 1.2 KB

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