diff options
Diffstat (limited to 'libc/sysdeps/linux/mips/crtn.S')
-rw-r--r-- | libc/sysdeps/linux/mips/crtn.S | 100 |
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 */ |