1! crtn.S for SPARC
2
3!   Copyright (C) 1992-2015 Free Software Foundation, Inc.
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
8! Free Software Foundation; either version 3, or (at your option) any
9! later version.
10!
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!
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/>.
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
29	.section	".init"
30	.align		4
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
41	restore
42#endif
43	jmp	%o7+8
44	 nop
45
46	.section	".fini"
47	.align		4
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
58	restore
59#endif
60	jmp	%o7+8
61	 nop
62
63! Th-th-th-that is all folks!
64