crt_arch.h 391 B

123456789101112131415161718192021
  1. __asm__("\n\
  2. .set push\n\
  3. .set noreorder\n\
  4. .global __start\n\
  5. .global _start\n\
  6. .type __start, @function\n\
  7. .type _start, @function\n\
  8. __start:\n\
  9. _start:\n\
  10. bal 1f \n\
  11. move $fp, $0 \n\
  12. 2: .gpword 2b \n\
  13. 1: lw $gp, 0($ra) \n\
  14. subu $gp, $ra, $gp \n\
  15. move $4, $sp \n\
  16. subu $sp, $sp, 16 \n\
  17. and $sp, $sp, -8 \n\
  18. lw $25, %call16(__cstart)($gp) \n\
  19. jalr $25 \n\
  20. nop \n\
  21. .set pop");