crti.S 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. #include "sgidefs.h"
  2. #if _MIPS_SIM == _MIPS_SIM_ABI32
  3. .file 1 "initfini.c"
  4. .section .mdebug.abi32
  5. .previous
  6. .abicalls
  7. #APP
  8. .section .init
  9. #NO_APP
  10. .align 2
  11. .globl _init
  12. .ent _init
  13. .type _init, @function
  14. _init:
  15. .frame $sp,32,$31 # vars= 0, regs= 2/0, args= 16, extra= 8
  16. .mask 0x90000000,-4
  17. .fmask 0x00000000,0
  18. .set noreorder
  19. .cpload $25
  20. .set reorder
  21. subu $sp,$sp,32
  22. .cprestore 16
  23. sw $31,28($sp)
  24. sw $28,24($sp)
  25. #APP
  26. .align 2
  27. .end _init
  28. .section .fini
  29. #NO_APP
  30. .align 2
  31. .globl _fini
  32. .ent _fini
  33. .type _fini, @function
  34. _fini:
  35. .frame $sp,32,$31 # vars= 0, regs= 2/0, args= 16, extra= 8
  36. .mask 0x90000000,-4
  37. .fmask 0x00000000,0
  38. .set noreorder
  39. .cpload $25
  40. .set reorder
  41. subu $sp,$sp,32
  42. .cprestore 16
  43. sw $31,28($sp)
  44. sw $28,24($sp)
  45. #APP
  46. .align 2
  47. .end _fini
  48. .ident "GCC: (GNU) 3.3.2"
  49. #elif _MIPS_SIM == _MIPS_SIM_NABI32
  50. .file 1 "initfini.c"
  51. .section .mdebug.abiN32
  52. .previous
  53. .abicalls
  54. #APP
  55. .section .init
  56. #NO_APP
  57. .align 2
  58. .align 3
  59. .globl _init
  60. .ent _init
  61. .type _init, @function
  62. _init:
  63. .frame $sp,16,$31 # vars= 0, regs= 2/0, args= 0, gp= 0
  64. .mask 0x90000000,-8
  65. .fmask 0x00000000,0
  66. addiu $sp,$sp,-16
  67. sd $28,0($sp)
  68. lui $28,%hi(%neg(%gp_rel(_init)))
  69. addu $28,$28,$25
  70. addiu $28,$28,%lo(%neg(%gp_rel(_init)))
  71. sd $31,8($sp)
  72. #APP
  73. .align 3
  74. .end _init
  75. .section .fini
  76. #NO_APP
  77. .align 2
  78. .align 3
  79. .globl _fini
  80. .ent _fini
  81. .type _fini, @function
  82. _fini:
  83. .frame $sp,16,$31 # vars= 0, regs= 2/0, args= 0, gp= 0
  84. .mask 0x90000000,-8
  85. .fmask 0x00000000,0
  86. addiu $sp,$sp,-16
  87. sd $28,0($sp)
  88. lui $28,%hi(%neg(%gp_rel(_fini)))
  89. addu $28,$28,$25
  90. addiu $28,$28,%lo(%neg(%gp_rel(_fini)))
  91. sd $31,8($sp)
  92. #APP
  93. .align 3
  94. .end _fini
  95. .ident "GCC: (GNU) 3.4.3"
  96. #else /* N64 */
  97. .file 1 "initfini.c"
  98. .section .mdebug.abi64
  99. .previous
  100. .abicalls
  101. #APP
  102. .section .init
  103. #NO_APP
  104. .align 2
  105. .globl _init
  106. .ent _init
  107. .type _init, @function
  108. _init:
  109. .frame $sp,32,$31 # vars= 0, regs= 2/0, args= 0, extra= 16
  110. .mask 0x90000000,-8
  111. .fmask 0x00000000,0
  112. dsubu $sp,$sp,32
  113. sd $31,24($sp)
  114. sd $28,16($sp)
  115. .set noat
  116. lui $1,%hi(%neg(%gp_rel(_init)))
  117. addiu $1,$1,%lo(%neg(%gp_rel(_init)))
  118. daddu $gp,$1,$25
  119. .set at
  120. #APP
  121. .align 2
  122. .end _init
  123. .section .fini
  124. #NO_APP
  125. .align 2
  126. .globl _fini
  127. .ent _fini
  128. .type _fini, @function
  129. _fini:
  130. .frame $sp,32,$31 # vars= 0, regs= 2/0, args= 0, extra= 16
  131. .mask 0x90000000,-8
  132. .fmask 0x00000000,0
  133. dsubu $sp,$sp,32
  134. sd $31,24($sp)
  135. sd $28,16($sp)
  136. .set noat
  137. lui $1,%hi(%neg(%gp_rel(_fini)))
  138. addiu $1,$1,%lo(%neg(%gp_rel(_fini)))
  139. daddu $gp,$1,$25
  140. .set at
  141. #APP
  142. .align 2
  143. .end _fini
  144. .ident "GCC: (GNU) 3.3.2"
  145. #endif /* N64 */