2011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
[official-gcc.git] / gcc / config / rs6000 / sol-cn.asm
blob4aeacaf2cfff76c294623d97166a3a56a59e397e
1 # crtn.s for sysv4
3 # Copyright (C) 1996, 2007, 2008, 2009 Free Software Foundation, Inc.
4 # Written By Michael Meissner
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.
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.
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.
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/>.
25 # This file just supplies labeled ending points for the .got* and other
26 # special sections. It is linked in last after other modules.
28 .ident "GNU C scrtn.s"
30 #ifndef __powerpc64__
31 # Default versions of exception handling register/deregister
32 .weak _ex_register
33 .weak _ex_deregister
34 .set _ex_register,0
35 .set _ex_deregister,0
37 # End list of C++ constructors
38 .section ".ctors","aw"
39 .globl __CTOR_END__
40 .type __CTOR_END__,@object
41 __CTOR_END__:
43 # End list of C++ destructors
44 .section ".dtors","aw"
45 .weak __DTOR_END__
46 .type __DTOR_END__,@object
47 __DTOR_END__:
49 .section ".text"
50 .globl _ex_text1
51 _ex_text1:
53 .section ".exception_ranges","aw"
54 .globl _ex_range1
55 _ex_range1:
57 # Tail of _init used for static constructors
58 .section ".init","ax"
59 lwz %r0,16(%r1)
60 lwz %r31,12(%r1)
61 mtlr %r0
62 addi %r1,%r1,16
63 blr
65 # Tail of _fini used for static destructors
66 .section ".fini","ax"
67 lwz %r0,16(%r1)
68 lwz %r31,12(%r1)
69 mtlr %r0
70 addi %r1,%r1,16
71 blr
72 #endif