1#include <machine/asm.h> 2#ifndef __clang__ 3 .gnu_attribute 4, 0 4#endif 5 .section .init,"ax",%progbits 6 .align 4 7 .globl _init 8 .type _init,%function 9_init: 10 .set noreorder 11#if defined(__ABICALLS__) && (defined(__mips_o32) || defined(__mips_o64)) 12 SETUP_GP 13#endif 14 PTR_ADDU sp, sp, -CALLFRAME_SIZ 15 REG_S ra, CALLFRAME_RA(sp) 16#if defined(__ABICALLS__) 17#if defined(__mips_o32) || defined(__mips_o64) 18 SAVE_GP(CALLFRAME_GP) 19#else 20 SETUP_GP64(CALLFRAME_GP, _init) 21#endif 22#else /* __ABICALLS__ */ 23#if defined(__mips_n32) || defined(__mips_n64) 24 REG_S gp, CALLFRAME_GP(sp) 25#endif 26#endif 27 .set reorder 28 29 .section .fini,"ax",%progbits 30 .align 4 31 .globl _fini 32 .type _fini,%function 33_fini: 34 .set noreorder 35#if defined(__ABICALLS__) && (defined(__mips_o32) || defined(__mips_o64)) 36 SETUP_GP 37#endif 38 PTR_ADDU sp, sp, -CALLFRAME_SIZ 39 REG_S ra, CALLFRAME_RA(sp) 40#if defined(__ABICALLS__) 41#if defined(__mips_o32) || defined(__mips_o64) 42 SAVE_GP(CALLFRAME_GP) 43#else 44 SETUP_GP64(CALLFRAME_GP, _fini) 45#endif 46#else /* __ABICALLS__ */ 47#if defined(__mips_n32) || defined(__mips_n64) 48 REG_S gp, CALLFRAME_GP(sp) 49#endif 50#endif 51 .set reorder 52