]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/csu/mips/crti.S
Merge llvm, clang, compiler-rt, libc++, lld and lldb release_40 branch
[FreeBSD/FreeBSD.git] / lib / csu / mips / crti.S
1 #include <machine/asm.h>
2 __FBSDID("$FreeBSD$");
3
4         .gnu_attribute 4, 0
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