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