Avoid unterminated string literals.
[kopensolaris-gnu/glibc.git] / sysdeps / s390 / s390-64 / initfini.c
1 /* Special .init and .fini section support for 64 bit S/390.
2    Copyright (C) 2001 Free Software Foundation, Inc.
3    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
4    This file is part of the GNU C Library.
5
6    The GNU C Library is free software; you can redistribute it and/or
7    modify it under the terms of the GNU Lesser General Public
8    License as published by the Free Software Foundation; either
9    version 2.1 of the License, or (at your option) any later version.
10
11    The GNU C Library is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    Lesser General Public License for more details.
15
16    You should have received a copy of the GNU Lesser General Public
17    License along with the GNU C Library; if not, write to the Free
18    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19    02111-1307 USA.  */
20
21 /* This file is compiled into assembly code which is then munged by a sed
22    script into two files: crti.s and crtn.s.
23
24    * crti.s puts a function prologue at the beginning of the
25    .init and .fini sections and defines global symbols for
26    those addresses, so they can be called as functions.
27
28    * crtn.s puts the corresponding function epilogues
29    in the .init and .fini sections. */
30
31 __asm__ ("\
32 \n\
33 #include \"defs.h\"\n\
34 \n\
35 /*@HEADER_ENDS*/\n\
36 \n\
37 /*@TESTS_BEGIN*/\n\
38 \n\
39 /*@TESTS_END*/\n\
40 \n\
41 /*@_init_PROLOG_BEGINS*/\n\
42 \n\
43         .section .init\n\
44 #NO_APP\n\
45         .align 4\n\
46 .globl _init\n\
47         .type    _init,@function\n\
48 _init:\n\
49 #       leaf function           0\n\
50 #       automatics              0\n\
51 #       outgoing args           0\n\
52 #       need frame pointer      0\n\
53 #       call alloca             0\n\
54 #       has varargs             0\n\
55 #       incoming args (stack)   0\n\
56 #       function length         36\n\
57         STMG    6,15,48(15)\n\
58         LGR     1,15\n\
59         AGHI    15,-160\n\
60         STG     1,0(15)\n\
61         LARL    12,_GLOBAL_OFFSET_TABLE_\n\
62         LARL    1,__gmon_start__@GOTENT\n\
63         LG      1,0(1)\n\
64         LTGR    1,1\n\
65         JE      .L22\n\
66         BASR    14,1\n\
67 .L22:\n\
68 #APP\n\
69         .align 4,0x07\n\
70         END_INIT\n\
71 \n\
72 /*@_init_PROLOG_ENDS*/\n\
73 \n\
74 /*@_init_EPILOG_BEGINS*/\n\
75         .align 4\n\
76         .section .init\n\
77 #NO_APP\n\
78         .align 4\n\
79         LG      4,272(15)\n\
80         LMG     6,15,208(15)\n\
81         BR      4\n\
82 #APP\n\
83         END_INIT\n\
84 \n\
85 /*@_init_EPILOG_ENDS*/\n\
86 \n\
87 /*@_fini_PROLOG_BEGINS*/\n\
88         .section .fini\n\
89 #NO_APP\n\
90         .align 4\n\
91 .globl _fini\n\
92         .type    _fini,@function\n\
93 _fini:\n\
94 #       leaf function           0\n\
95 #       automatics              0\n\
96 #       outgoing args           0\n\
97 #       need frame pointer      0\n\
98 #       call alloca             0\n\
99 #       has varargs             0\n\
100 #       incoming args (stack)   0\n\
101 #       function length         30\n\
102         STMG    6,15,48(15)\n\
103         LGR     1,15\n\
104         AGHI    15,-160\n\
105         STG     1,0(15)\n\
106         LARL    12,_GLOBAL_OFFSET_TABLE_\n\
107 #APP\n\
108         .align 4,0x07\n\
109         END_FINI\n\
110 \n\
111 /*@_fini_PROLOG_ENDS*/\n\
112 \n\
113 /*@_fini_EPILOG_BEGINS*/\n\
114         .align 4\n\
115         .section .fini\n\
116 #NO_APP\n\
117         .align 4\n\
118         LG      4,272(15)\n\
119         LMG     6,15,208(15)\n\
120         BR      4\n\
121 #APP\n\
122         END_FINI\n\
123 \n\
124 /*@_fini_EPILOG_ENDS*/\n\
125 \n\
126         /*@TRAILER_BEGINS*/\
127 ");