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