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