Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/rs6000/sol-ci.asm @ 0:a06113de4d67
first commit
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2009 14:47:48 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:a06113de4d67 |
---|---|
1 # crti.s for sysv4 | |
2 | |
3 # Copyright (C) 1996, 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. | |
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 supplies labeled starting points for the .got* and other | |
26 # special sections. It is linked in first before other modules. | |
27 | |
28 .ident "GNU C scrti.s" | |
29 | |
30 #ifndef __powerpc64__ | |
31 # Start of .text | |
32 .section ".text" | |
33 .globl _ex_text0 | |
34 _ex_text0: | |
35 | |
36 # Exception range | |
37 .section ".exception_ranges","aw" | |
38 .globl _ex_range0 | |
39 _ex_range0: | |
40 | |
41 # List of C++ constructors | |
42 .section ".ctors","aw" | |
43 .globl __CTOR_LIST__ | |
44 .type __CTOR_LIST__,@object | |
45 __CTOR_LIST__: | |
46 | |
47 # List of C++ destructors | |
48 .section ".dtors","aw" | |
49 .globl __DTOR_LIST__ | |
50 .type __DTOR_LIST__,@object | |
51 __DTOR_LIST__: | |
52 | |
53 # Head of _init function used for static constructors | |
54 .section ".init","ax" | |
55 .align 2 | |
56 .globl _init | |
57 .type _init,@function | |
58 _init: stwu %r1,-16(%r1) | |
59 mflr %r0 | |
60 stw %r31,12(%r1) | |
61 stw %r0,16(%r1) | |
62 | |
63 bl _GLOBAL_OFFSET_TABLE_-4 # get the GOT address | |
64 mflr %r31 | |
65 | |
66 # lwz %r3,_ex_shared0@got(%r31) | |
67 # lwz %r4,-8(%r3) # _ex_register or 0 | |
68 # cmpi %cr0,%r4,0 | |
69 # beq .Lno_reg | |
70 # mtlr %r4 | |
71 # blrl | |
72 #.Lno_reg: | |
73 | |
74 # Head of _fini function used for static destructors | |
75 .section ".fini","ax" | |
76 .align 2 | |
77 .globl _fini | |
78 .type _fini,@function | |
79 _fini: stwu %r1,-16(%r1) | |
80 mflr %r0 | |
81 stw %r31,12(%r1) | |
82 stw %r0,16(%r1) | |
83 | |
84 bl _GLOBAL_OFFSET_TABLE_-4 # get the GOT address | |
85 mflr %r31 | |
86 | |
87 # _environ and its evil twin environ, pointing to the environment | |
88 .section ".sdata","aw" | |
89 .align 2 | |
90 .globl _environ | |
91 .space 4 | |
92 .weak environ | |
93 .set environ,_environ | |
94 #endif |