eabi-cn.asm revision 272461
1193323Sed/* crtn.s for eabi
2193323Sed   Copyright (C) 1996, 2000 Free Software Foundation, Inc.
3193323Sed   Written By Michael Meissner
4193323Sed
5193323SedThis file is free software; you can redistribute it and/or modify it
6193323Sedunder the terms of the GNU General Public License as published by the
7193323SedFree Software Foundation; either version 2, or (at your option) any
8193323Sedlater version.
9193323Sed
10193323SedIn addition to the permissions in the GNU General Public License, the
11193323SedFree Software Foundation gives you unlimited permission to link the
12193323Sedcompiled version of this file with other programs, and to distribute
13193323Sedthose programs without any restriction coming from the use of this
14193323Sedfile.  (The General Public License restrictions do apply in other
15193323Sedrespects; for example, they cover modification of the file, and
16193323Seddistribution when not linked into another program.)
17193323Sed
18193323SedThis file is distributed in the hope that it will be useful, but
19234353SdimWITHOUT ANY WARRANTY; without even the implied warranty of
20249423SdimMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21249423SdimGeneral Public License for more details.
22249423Sdim
23193323SedYou should have received a copy of the GNU General Public License
24193323Sedalong with this program; see the file COPYING.  If not, write to
25249423Sdimthe Free Software Foundation, 51 Franklin Street, Fifth Floor,
26249423SdimBoston, MA 02110-1301, USA.
27249423Sdim
28249423Sdim   As a special exception, if you link this library with files
29194612Sed   compiled with GCC to produce an executable, this does not cause
30249423Sdim   the resulting executable to be covered by the GNU General Public License.
31193323Sed   This exception does not however invalidate any other reasons why
32193323Sed   the executable file might be covered by the GNU General Public License.
33193323Sed
34193323Sed  */
35208599Srdivacky
36198090Srdivacky/* This file just supplies labeled ending points for the .got* and other
37193323Sed   special sections.  It is linked in last after other modules.  */
38226633Sdim 
39193323Sed	.file	"crtn.s"
40193323Sed	.ident	"GNU C crtn.s"
41198090Srdivacky
42193323Sed#ifndef __powerpc64__
43193323Sed	.section ".got","aw"
44193323Sed	.globl	__GOT_END__
45193323Sed	.type	__GOT_END__,@object
46249423Sdim__GOT_END__:
47249423Sdim
48249423Sdim	.section ".got1","aw"
49249423Sdim	.globl	__GOT1_END__
50193323Sed	.type	__GOT1_END__,@object
51198090Srdivacky__GOT1_END__:
52198090Srdivacky
53198090Srdivacky	.section ".got2","aw"
54203954Srdivacky	.globl	__GOT2_END__
55203954Srdivacky	.type	__GOT2_END__,@object
56203954Srdivacky__GOT2_END__:
57203954Srdivacky
58203954Srdivacky	.section ".fixup","aw"
59203954Srdivacky	.globl	__FIXUP_END__
60203954Srdivacky	.type	__FIXUP_END__,@object
61221345Sdim__FIXUP_END__:
62221345Sdim
63234353Sdim	.section ".ctors","aw"
64234353Sdim	.globl	__CTOR_END__
65221345Sdim	.type	__CTOR_END__,@object
66249423Sdim__CTOR_END__:
67249423Sdim
68221345Sdim	.section ".dtors","aw"
69198090Srdivacky	.globl	__DTOR_END__
70224145Sdim	.type	__DTOR_END__,@object
71249423Sdim__DTOR_END__:
72193323Sed
73249423Sdim	.section ".sdata","aw"
74249423Sdim	.globl	__SDATA_END__
75249423Sdim	.type	__SDATA_END__,@object
76249423Sdim__SDATA_END__:
77249423Sdim
78249423Sdim	.section ".sbss","aw",@nobits
79221345Sdim	.globl	__SBSS_END__
80221345Sdim	.type	__SBSS_END__,@object
81221345Sdim__SBSS_END__:
82221345Sdim
83221345Sdim	.section ".sdata2","a"
84199481Srdivacky	.globl	__SDATA2_END__
85199481Srdivacky	.type	__SDATA2_END__,@object
86199481Srdivacky__SDATA2_END__:
87199481Srdivacky
88199481Srdivacky	.section ".sbss2","a"
89199481Srdivacky	.globl	__SBSS2_END__
90249423Sdim	.type	__SBSS2_END__,@object
91234353Sdim__SBSS2_END__:
92234353Sdim
93193323Sed	.section ".gcc_except_table","aw"
94193323Sed	.globl	__EXCEPT_END__
95243830Sdim	.type	__EXCEPT_END__,@object
96243830Sdim__EXCEPT_END__:
97249423Sdim
98249423Sdim	.section ".eh_frame","aw"
99193323Sed	.globl	__EH_FRAME_END__
100193323Sed	.type	__EH_FRAME_END__,@object
101193323Sed__EH_FRAME_END__:
102193323Sed        .long   0
103193323Sed
104193323Sed/* Tail of __init function used for static constructors.  */
105193323Sed	.section ".init","ax"
106193323Sed	lwz 0,20(1)
107193323Sed	mtlr 0
108193323Sed	addi 1,1,16
109193323Sed	blr
110193323Sed
111224145Sdim/* Tail of __fini function used for static destructors.  */
112249423Sdim	.section ".fini","ax"
113249423Sdim	lwz 0,20(1)
114193323Sed	mtlr 0
115193323Sed	addi 1,1,16
116193323Sed	blr
117193323Sed#endif
118193323Sed