]>
Commit | Line | Data |
---|---|---|
d385f772 | 1 | ! crtn.S for SPARC |
9b73b79e | 2 | |
8d9254fc | 3 | ! Copyright (C) 1992-2020 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 makes sure that the .fini and .init sections do in | |
26 | ! fact return. Users may put any desired instructions in those sections. | |
27 | ! This file is the last thing linked into any executable. | |
28 | ||
9b73b79e RS |
29 | .section ".init" |
30 | .align 4 | |
b11b0904 EB |
31 | #ifdef _FLAT |
32 | mov %i7, %o7 | |
33 | #ifdef __sparcv9 | |
34 | ldx [%sp+2343], %i7 | |
35 | sub %sp, -176, %sp | |
36 | #else | |
37 | ld [%sp+156], %i7 | |
38 | sub %sp, -96, %sp | |
39 | #endif | |
40 | #else | |
9b73b79e | 41 | restore |
b11b0904 EB |
42 | #endif |
43 | jmp %o7+8 | |
44 | nop | |
9b73b79e RS |
45 | |
46 | .section ".fini" | |
47 | .align 4 | |
b11b0904 EB |
48 | #ifdef _FLAT |
49 | mov %i7, %o7 | |
50 | #ifdef __sparcv9 | |
51 | ldx [%sp+2343], %i7 | |
52 | sub %sp, -176, %sp | |
53 | #else | |
54 | ld [%sp+156], %i7 | |
55 | sub %sp, -96, %sp | |
56 | #endif | |
57 | #else | |
9b73b79e | 58 | restore |
b11b0904 EB |
59 | #endif |
60 | jmp %o7+8 | |
61 | nop | |
9b73b79e | 62 | |
d559a4db | 63 | ! Th-th-th-that is all folks! |