]>
Commit | Line | Data |
---|---|---|
d385f772 | 1 | ! crti.S for SPARC |
9b73b79e | 2 | |
99dee823 | 3 | ! Copyright (C) 1992-2021 Free Software Foundation, Inc. |
9b73b79e RS |
4 | ! Written By David Vinayak Henkel-Wallace, June 1992 |
5 | ! | |
6 | ! This file is free software; you can redistribute it and/or modify it | |
7 | ! under the terms of the GNU General Public License as published by the | |
748086b7 | 8 | ! Free Software Foundation; either version 3, or (at your option) any |
9b73b79e RS |
9 | ! later version. |
10 | ! | |
9b73b79e RS |
11 | ! This file is distributed in the hope that it will be useful, but |
12 | ! WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 | ! General Public License for more details. | |
15 | ! | |
748086b7 JJ |
16 | ! Under Section 7 of GPL version 3, you are granted additional |
17 | ! permissions described in the GCC Runtime Library Exception, version | |
18 | ! 3.1, as published by the Free Software Foundation. | |
19 | ! | |
20 | ! You should have received a copy of the GNU General Public License and | |
21 | ! a copy of the GCC Runtime Library Exception along with this program; | |
22 | ! see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
23 | ! <http://www.gnu.org/licenses/>. | |
9b73b79e RS |
24 | |
25 | ! This file just make a stack frame for the contents of the .fini and | |
26 | ! .init sections. Users may put any desired instructions in those | |
27 | ! sections. | |
28 | ||
29 | ! This file is linked in before the Values-Xx.o files and also before | |
30 | ! crtbegin, with which perhaps it should be merged. | |
31 | ||
9b73b79e RS |
32 | .section ".init" |
33 | .proc 022 | |
34 | .global _init | |
35 | .type _init,#function | |
36 | .align 4 | |
37 | _init: | |
b11b0904 EB |
38 | #ifdef _FLAT |
39 | #ifdef __sparcv9 | |
40 | stx %i7, [%sp+2167] | |
41 | add %sp, -176, %sp | |
42 | #else | |
43 | st %i7, [%sp+60] | |
44 | add %sp, -96, %sp | |
45 | #endif | |
46 | mov %o7, %i7 | |
47 | #else | |
d559a4db DM |
48 | #ifdef __sparcv9 |
49 | save %sp, -176, %sp | |
50 | #else | |
9b73b79e | 51 | save %sp, -96, %sp |
d559a4db | 52 | #endif |
b11b0904 | 53 | #endif |
9b73b79e RS |
54 | |
55 | ||
56 | .section ".fini" | |
57 | .proc 022 | |
58 | .global _fini | |
59 | .type _fini,#function | |
60 | .align 4 | |
61 | _fini: | |
b11b0904 EB |
62 | #ifdef _FLAT |
63 | #ifdef __sparcv9 | |
64 | stx %i7, [%sp+2167] | |
65 | add %sp, -176, %sp | |
66 | #else | |
67 | st %i7, [%sp+60] | |
68 | add %sp, -96, %sp | |
69 | #endif | |
70 | mov %o7, %i7 | |
71 | #else | |
d559a4db DM |
72 | #ifdef __sparcv9 |
73 | save %sp, -176, %sp | |
74 | #else | |
9b73b79e | 75 | save %sp, -96, %sp |
d559a4db | 76 | #endif |
b11b0904 | 77 | #endif |