]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.dwarf2/implptr-64bit.S
Update years in copyright notice for the GDB files.
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.dwarf2 / implptr-64bit.S
1 /* Copyright 2010-2013 Free Software Foundation, Inc.
2
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 3 of the License, or
6 (at your option) any later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12
13 You should have received a copy of the GNU General Public License
14 along with this program. If not, see <http://www.gnu.org/licenses/>. */
15
16 .section .debug_info
17 d:
18 /* Length of Compilation Unit Info */
19 #if OFFSET_SIZE == 4
20 # define OFFSET .4byte
21 # define HEADER_LINE1
22 # define HEADER_LINE2(END) .4byte END - 1f
23 #elif OFFSET_SIZE == 8
24 # define OFFSET .8byte
25 # define HEADER_LINE1 .4byte 0xffffffff
26 # define HEADER_LINE2(END) .8byte END - 1f
27 #else
28 # error
29 #endif
30 #if ADDR_SIZE == 4
31 # define ADDR .4byte
32 #elif ADDR_SIZE == 8
33 # define ADDR .8byte
34 #else
35 # error
36 #endif
37 #if REF_ADDR_SIZE == 4
38 # define REF_ADDR .4byte
39 #elif REF_ADDR_SIZE == 8
40 # define REF_ADDR .8byte
41 #else
42 # error
43 #endif
44
45 #if TWO_CU
46 # define END1 .Lcu_end_1
47 #else
48 # define END1 debug_end
49 #endif
50
51 HEADER_LINE1
52 HEADER_LINE2(END1)
53
54 1:
55 .2byte DWARF_VERSION /* DWARF version number */
56 OFFSET .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
57 .byte ADDR_SIZE /* Pointer Size (in bytes) */
58
59 .uleb128 0x1 /* (DIE (0xb) DW_TAG_compile_unit) */
60 .ascii "GNU C 4.4.3\0" /* DW_AT_producer */
61 .byte 0x1 /* DW_AT_language */
62 .ascii "1.c\0" /* DW_AT_name */
63
64 .Ltype_int:
65 .uleb128 0x7 /* DW_TAG_base_type */
66 .byte 0x4 /* DW_AT_byte_size */
67 .byte 0x5 /* DW_AT_encoding */
68 .ascii "int\0" /* DW_AT_name */
69
70 .Ltype_struct:
71 .uleb128 0x2 /* DW_TAG_structure_type */
72 .ascii "s\0" /* DW_AT_name */
73 .byte 4 /* DW_AT_byte_size */
74
75 .uleb128 0x3 /* DW_TAG_member */
76 .ascii "f\0" /* DW_AT_name */
77 .4byte .Ltype_int - d /* DW_AT_type */
78 .byte 0 /* DW_AT_data_member_location */
79
80 .byte 0x0 /* end of children of DW_TAG_structure_type */
81
82 .Ltype_structptr:
83 .uleb128 0x5 /* DW_TAG_pointer_type */
84 .byte ADDR_SIZE /* DW_AT_byte_size */
85 .4byte .Ltype_struct - d /* DW_AT_type */
86
87 .Lvar_out:
88 .uleb128 0x4 /* (DW_TAG_variable) */
89 .ascii "v\0" /* DW_AT_name */
90 .byte 2f - 1f /* DW_AT_location: DW_FORM_block1 */
91 1:
92 .byte 0x9e /* DW_OP_implicit_value */
93 .uleb128 2f - 3f
94 3:
95 .byte 1, 1, 1, 1
96 2:
97 REF_ADDR .Ltype_struct - d /* DW_AT_type */
98
99 #if TWO_CU
100 .byte 0x0 /* end of children of CU */
101 .Lcu_end_1:
102
103 HEADER_LINE1
104 HEADER_LINE2 (debug_end)
105
106 1:
107 .2byte DWARF_VERSION /* DWARF version number */
108 OFFSET .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
109 .byte ADDR_SIZE /* Pointer Size (in bytes) */
110
111 .uleb128 0x1 /* (DIE (0xb) DW_TAG_compile_unit) */
112 .ascii "GNU C 4.4.3\0" /* DW_AT_producer */
113 .byte 0x1 /* DW_AT_language */
114 .ascii "1.c\0" /* DW_AT_name */
115 #endif
116
117 .uleb128 6 /* Abbrev: DW_TAG_subprogram */
118 .ascii "main\0" /* DW_AT_name */
119 ADDR main /* DW_AT_low_pc */
120 ADDR main + 0x100 /* DW_AT_high_pc */
121 REF_ADDR .Ltype_int - d /* DW_AT_type */
122 .byte 1 /* DW_AT_external */
123
124 .uleb128 0x4 /* (DW_TAG_variable) */
125 .ascii "p\0" /* DW_AT_name */
126 .byte 2f - 1f /* DW_AT_location: DW_FORM_block1 */
127 1:
128 .byte 0xf2 /* DW_OP_GNU_implicit_pointer */
129 REF_ADDR .Lvar_out - d /* referenced DIE */
130 .sleb128 0 /* offset */
131 2:
132 REF_ADDR .Ltype_structptr - d /* DW_AT_type */
133
134 .byte 0x0 /* end of children of main */
135
136 .byte 0x0 /* end of children of CU */
137 debug_end:
138
139 .section .debug_abbrev
140 .Ldebug_abbrev0:
141
142 .uleb128 0x1 /* (abbrev code) */
143 .uleb128 0x11 /* (TAG: DW_TAG_compile_unit) */
144 .byte 0x1 /* DW_children_yes */
145 .uleb128 0x25 /* (DW_AT_producer) */
146 .uleb128 0x8 /* (DW_FORM_string) */
147 .uleb128 0x13 /* (DW_AT_language) */
148 .uleb128 0xb /* (DW_FORM_data1) */
149 .uleb128 0x3 /* (DW_AT_name) */
150 .uleb128 0x8 /* (DW_FORM_string) */
151 .byte 0x0
152 .byte 0x0
153
154 .uleb128 0x2 /* (abbrev code) */
155 .uleb128 0x13 /* (TAG: DW_TAG_structure_type) */
156 .byte 0x1 /* DW_children_yes */
157 .uleb128 0x3 /* (DW_AT_name) */
158 .uleb128 0x8 /* (DW_FORM_string) */
159 .uleb128 0xb /* (DW_AT_byte_size) */
160 .uleb128 0xb /* (DW_FORM_data1) */
161 .byte 0
162 .byte 0
163
164 .uleb128 0x3 /* (abbrev code) */
165 .uleb128 0xd /* (TAG: DW_TAG_member) */
166 .byte 0 /* DW_children_no */
167 .uleb128 0x3 /* (DW_AT_name) */
168 .uleb128 0x8 /* (DW_FORM_string) */
169 .uleb128 0x49 /* (DW_AT_type) */
170 .uleb128 0x13 /* (DW_FORM_ref4) */
171 .uleb128 0x38 /* (DW_AT_data_member_location) */
172 .uleb128 0xb /* (DW_FORM_data1) */
173 .byte 0
174 .byte 0
175
176 .uleb128 0x4 /* (abbrev code) */
177 .uleb128 0x34 /* (TAG: DW_TAG_variable) */
178 .byte 0x0 /* DW_children_yes */
179 .uleb128 0x3 /* (DW_AT_name) */
180 .uleb128 0x8 /* (DW_FORM_string) */
181 .uleb128 0x02 /* (DW_AT_location) */
182 .uleb128 0xa /* (DW_FORM_block1) */
183 .uleb128 0x49 /* (DW_AT_type) */
184 .uleb128 0x10 /* (DW_FORM_ref_addr) */
185 .byte 0x0
186 .byte 0x0
187
188 .uleb128 0x5 /* (abbrev code) */
189 .uleb128 0xf /* (TAG: DW_TAG_pointer_type) */
190 .byte 0x0 /* DW_children_no */
191 .uleb128 0xb /* (DW_AT_byte_size) */
192 .uleb128 0xb /* (DW_FORM_data1) */
193 .uleb128 0x49 /* (DW_AT_type) */
194 .uleb128 0x13 /* (DW_FORM_ref4) */
195 .byte 0x0
196 .byte 0x0
197
198 .uleb128 6 /* Abbrev code */
199 .uleb128 0x2e /* DW_TAG_subprogram */
200 .byte 1 /* has_children */
201 .uleb128 0x3 /* DW_AT_name */
202 .uleb128 0x8 /* DW_FORM_string */
203 .uleb128 0x11 /* DW_AT_low_pc */
204 .uleb128 0x1 /* DW_FORM_addr */
205 .uleb128 0x12 /* DW_AT_high_pc */
206 .uleb128 0x1 /* DW_FORM_addr */
207 .uleb128 0x49 /* DW_AT_type */
208 .uleb128 0x10 /* DW_FORM_ref_addr */
209 .uleb128 0x3f /* DW_AT_external */
210 .uleb128 0xc /* DW_FORM_flag */
211 .byte 0x0 /* Terminator */
212 .byte 0x0 /* Terminator */
213
214 .uleb128 0x7 /* (abbrev code) */
215 .uleb128 0x24 /* (TAG: DW_TAG_base_type) */
216 .byte 0 /* DW_children_no */
217 .uleb128 0xb /* (DW_AT_byte_size) */
218 .uleb128 0xb /* (DW_FORM_data1) */
219 .uleb128 0x3e /* (DW_AT_encoding) */
220 .uleb128 0xb /* (DW_FORM_data1) */
221 .uleb128 0x3 /* (DW_AT_name) */
222 .uleb128 0x8 /* (DW_FORM_string) */
223 .byte 0
224 .byte 0
225
226 .byte 0x0