summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/mips/crtn.S
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/mips/crtn.S')
-rw-r--r--libc/sysdeps/linux/mips/crtn.S100
1 files changed, 100 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/mips/crtn.S b/libc/sysdeps/linux/mips/crtn.S
index 7a5e4db6e..cedd593f0 100644
--- a/libc/sysdeps/linux/mips/crtn.S
+++ b/libc/sysdeps/linux/mips/crtn.S
@@ -1,3 +1,5 @@
+#include "sgidefs.h"
+#if _MIPS_SIM == _MIPS_SIM_ABI32
.file 1 "initfini.c"
.section .mdebug.abi32
.previous
@@ -43,3 +45,101 @@
#APP
.ident "GCC: (GNU) 3.3.2"
+#elif _MIPS_SIM == _MIPS_SIM_NABI32
+ .file 1 "initfini.c"
+ .section .mdebug.abiN32
+ .previous
+ .abicalls
+#APP
+
+ .section .init
+#NO_APP
+ .align 2
+ .align 3
+ .globl _init
+ .ent _init
+ .type _init, @function
+#NO_APP
+ ld $31,8($sp)
+ ld $28,0($sp)
+ .set noreorder
+ .set nomacro
+ j $31
+ addiu $sp,$sp,16
+ .set macro
+ .set reorder
+
+ .end _init
+#APP
+
+ .section .fini
+#NO_APP
+ .align 2
+ .align 3
+ .globl _fini
+ .ent _fini
+ .type _fini, @function
+#NO_APP
+ ld $31,8($sp)
+ ld $28,0($sp)
+ .set noreorder
+ .set nomacro
+ j $31
+ addiu $sp,$sp,16
+ .set macro
+ .set reorder
+
+ .end _fini
+#APP
+
+ .ident "GCC: (GNU) 3.4.3"
+#else /* N64 */
+ .file 1 "initfini.c"
+ .section .mdebug.abi64
+ .previous
+ .abicalls
+#APP
+
+
+ .section .init
+#NO_APP
+ .align 2
+ .globl _init
+ .ent _init
+ .type _init, @function
+#NO_APP
+ ld $31,24($sp)
+ ld $28,16($sp)
+ #nop
+ .set noreorder
+ .set nomacro
+ j $31
+ daddu $sp,$sp,32
+ .set macro
+ .set reorder
+
+ .end _init
+#APP
+
+ .section .fini
+#NO_APP
+ .align 2
+ .globl _fini
+ .ent _fini
+ .type _fini, @function
+#NO_APP
+ ld $31,24($sp)
+ ld $28,16($sp)
+ #nop
+ .set noreorder
+ .set nomacro
+ j $31
+ daddu $sp,$sp,32
+ .set macro
+ .set reorder
+
+ .end _fini
+#APP
+
+ .ident "GCC: (GNU) 3.3.2"
+#endif /* N64 */