1/* crtn.s for eabi
2   Copyright (C) 1996-2020 Free Software Foundation, Inc.
3   Written By Michael Meissner
4
5This file is free software; you can redistribute it and/or modify it
6under the terms of the GNU General Public License as published by the
7Free Software Foundation; either version 3, or (at your option) any
8later version.
9
10This file is distributed in the hope that it will be useful, but
11WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13General Public License for more details.
14
15Under Section 7 of GPL version 3, you are granted additional
16permissions described in the GCC Runtime Library Exception, version
173.1, as published by the Free Software Foundation.
18
19You should have received a copy of the GNU General Public License and
20a copy of the GCC Runtime Library Exception along with this program;
21see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
22<http://www.gnu.org/licenses/>.  */
23
24/* This file just supplies labeled ending points for the .got* and other
25   special sections.  It is linked in last after other modules.  */
26
27	.ident	"GNU C crtn.s"
28
29#ifndef __powerpc64__
30	.section ".got","aw"
31	.globl	__GOT_END__
32	.type	__GOT_END__,@object
33__GOT_END__:
34
35	.section ".got1","aw"
36	.globl	__GOT1_END__
37	.type	__GOT1_END__,@object
38__GOT1_END__:
39
40	.section ".got2","aw"
41	.globl	__GOT2_END__
42	.type	__GOT2_END__,@object
43__GOT2_END__:
44
45	.section ".fixup","aw"
46	.globl	__FIXUP_END__
47	.type	__FIXUP_END__,@object
48__FIXUP_END__:
49
50	.section ".ctors","aw"
51	.globl	__CTOR_END__
52	.type	__CTOR_END__,@object
53__CTOR_END__:
54
55	.section ".dtors","aw"
56	.weak	__DTOR_END__
57	.type	__DTOR_END__,@object
58__DTOR_END__:
59
60	.section ".sdata","aw"
61	.globl	__SDATA_END__
62	.type	__SDATA_END__,@object
63__SDATA_END__:
64
65	.section ".sbss","aw",@nobits
66	.globl	__SBSS_END__
67	.type	__SBSS_END__,@object
68__SBSS_END__:
69
70	.section ".sdata2","a"
71	.globl	__SDATA2_END__
72	.type	__SDATA2_END__,@object
73__SDATA2_END__:
74
75	.section ".sbss2","a"
76	.globl	__SBSS2_END__
77	.type	__SBSS2_END__,@object
78__SBSS2_END__:
79
80	.section ".gcc_except_table","aw"
81	.globl	__EXCEPT_END__
82	.type	__EXCEPT_END__,@object
83__EXCEPT_END__:
84
85	.section ".eh_frame","aw"
86	.globl	__EH_FRAME_END__
87	.type	__EH_FRAME_END__,@object
88__EH_FRAME_END__:
89        .long   0
90
91/* Tail of __init function used for static constructors.  */
92	.section ".init","ax"
93	lwz 0,20(1)
94	mtlr 0
95	addi 1,1,16
96	blr
97
98/* Tail of __fini function used for static destructors.  */
99	.section ".fini","ax"
100	lwz 0,20(1)
101	mtlr 0
102	addi 1,1,16
103	blr
104#endif
105