lib.rs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #![feature(lang_items)]
  2. #![no_std]
  3. extern {
  4. fn __ashldi3();
  5. fn __ashrdi3();
  6. fn __divdi3();
  7. fn __divmoddi4();
  8. fn __divmodsi4();
  9. fn __divsi3();
  10. fn __lshrdi3();
  11. fn __moddi3();
  12. fn __modsi3();
  13. fn __muldi3();
  14. fn __mulodi4();
  15. fn __mulosi4();
  16. fn __udivdi3();
  17. fn __udivmoddi4();
  18. fn __udivmodsi4();
  19. fn __udivsi3();
  20. fn __umoddi3();
  21. fn __umodsi3();
  22. fn __addsf3();
  23. fn __adddf3();
  24. fn __powisf2();
  25. fn __powidf2();
  26. }
  27. macro_rules! declare {
  28. ($func:ident, $sym:ident) => {
  29. #[no_mangle]
  30. pub extern fn $func() -> usize {
  31. $sym as usize
  32. }
  33. }
  34. }
  35. declare!(___ashldi3, __ashldi3);
  36. declare!(___ashrdi3, __ashrdi3);
  37. declare!(___divdi3, __divdi3);
  38. declare!(___divmoddi4, __divmoddi4);
  39. declare!(___divmodsi4, __divmodsi4);
  40. declare!(___divsi3, __divsi3);
  41. declare!(___lshrdi3, __lshrdi3);
  42. declare!(___moddi3, __moddi3);
  43. declare!(___modsi3, __modsi3);
  44. declare!(___muldi3, __muldi3);
  45. declare!(___mulodi4, __mulodi4);
  46. declare!(___mulosi4, __mulosi4);
  47. declare!(___udivdi3, __udivdi3);
  48. declare!(___udivmoddi4, __udivmoddi4);
  49. declare!(___udivmodsi4, __udivmodsi4);
  50. declare!(___udivsi3, __udivsi3);
  51. declare!(___umoddi3, __umoddi3);
  52. declare!(___umodsi3, __umodsi3);
  53. declare!(___addsf3, __addsf3);
  54. declare!(___adddf3, __adddf3);
  55. declare!(___powisf2, __powisf2);
  56. declare!(___powidf2, __powidf2);
  57. #[lang = "eh_personality"]
  58. fn eh_personality() {}
  59. #[lang = "panic_fmt"]
  60. fn panic_fmt() {}