1 /* This testcase is part of GDB, the GNU debugger.
3 Copyright 2007-2023 Free Software Foundation, Inc.
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 .globl file_locaddr_resolvable
21 file_locaddr_resolvable:
22 .globl file_locempty_resolvable
23 file_locempty_resolvable:
24 .globl file_locno_resolvable
25 file_locno_resolvable:
26 .globl file_extern_locaddr_resolvable
27 file_extern_locaddr_resolvable:
28 .globl file_extern_locempty_resolvable
29 file_extern_locempty_resolvable:
30 .globl file_extern_locno_resolvable
31 file_extern_locno_resolvable:
32 .globl main_local_locaddr_resolvable
33 main_local_locaddr_resolvable:
34 .globl main_local_locempty_resolvable
35 main_local_locempty_resolvable:
36 .globl main_local_locno_resolvable
37 main_local_locno_resolvable:
38 .globl main_extern_locaddr_resolvable
39 main_extern_locaddr_resolvable:
40 .globl main_extern_locno_resolvable
41 main_extern_locno_resolvable:
42 .globl main_extern_locempty_resolvable
43 main_extern_locempty_resolvable:
48 /* Debug information */
53 .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
55 .2byte 2 /* DWARF Version */
56 .4byte .Labbrev1_begin /* Offset into abbrev section */
57 .byte 4 /* Pointer size */
60 .uleb128 1 /* Abbrev: DW_TAG_compile_unit */
61 .4byte cu_text_end /* DW_AT_high_pc */
62 .4byte cu_text_start /* DW_AT_low_pc */
63 .ascii "file1.txt\0" /* DW_AT_name */
64 .ascii "GNU C 3.3.3\0" /* DW_AT_producer */
65 .byte 1 /* DW_AT_language (C) */
68 .uleb128 3 /* Abbrev: DW_TAG_base_type */
69 .ascii "int\0" /* DW_AT_name */
70 .byte 4 /* DW_AT_byte_size */
71 .byte 5 /* DW_AT_encoding */
73 .uleb128 7 /* Abbrev: DW_TAG_variable (location) */
74 .ascii "file_locaddr_resolvable\0" /* DW_AT_name */
75 .byte 2f - 1f /* DW_AT_location */
76 1: .byte 3 /* DW_OP_addr */
77 .4byte resolvable /* <addr> */
78 2: .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
80 .uleb128 7 /* Abbrev: DW_TAG_variable (location) */
81 .ascii "file_locaddr_unresolvable\0" /* DW_AT_name */
82 .byte 2f - 1f /* DW_AT_location */
83 1: .byte 3 /* DW_OP_addr */
84 .4byte resolvable /* <addr> */
85 2: .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
87 .uleb128 7 /* Abbrev: DW_TAG_variable (location) */
88 .ascii "file_locempty_resolvable\0" /* DW_AT_name */
89 .byte 0 /* DW_AT_location */
90 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
92 .uleb128 7 /* Abbrev: DW_TAG_variable (location) */
93 .ascii "file_locempty_unresolvable\0" /* DW_AT_name */
94 .byte 0 /* DW_AT_location */
95 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
97 .uleb128 5 /* Abbrev: DW_TAG_variable (bare) */
98 .ascii "file_locno_resolvable\0" /* DW_AT_name */
99 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
101 .uleb128 5 /* Abbrev: DW_TAG_variable (bare) */
102 .ascii "file_locno_unresolvable\0" /* DW_AT_name */
103 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
105 .uleb128 8 /* Abbrev: DW_TAG_variable (location+extern) */
106 .ascii "file_extern_locaddr_resolvable\0" /* DW_AT_name */
107 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
108 .byte 2f - 1f /* DW_AT_location */
109 1: .byte 3 /* DW_OP_addr */
110 .4byte resolvable /* <addr> */
111 2: .byte 1 /* DW_AT_external */
113 .uleb128 8 /* Abbrev: DW_TAG_variable (location+extern) */
114 .ascii "file_extern_locaddr_unresolvable\0" /* DW_AT_name */
115 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
116 .byte 2f - 1f /* DW_AT_location */
117 1: .byte 3 /* DW_OP_addr */
118 .4byte resolvable /* <addr> */
119 2: .byte 1 /* DW_AT_external */
121 .uleb128 8 /* Abbrev: DW_TAG_variable (location+extern) */
122 .ascii "file_extern_locempty_resolvable\0" /* DW_AT_name */
123 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
124 .byte 0 /* DW_AT_location */
125 .byte 1 /* DW_AT_external */
127 .uleb128 8 /* Abbrev: DW_TAG_variable (location+extern) */
128 .ascii "file_extern_locempty_unresolvable\0" /* DW_AT_name */
129 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
130 .byte 0 /* DW_AT_location */
131 .byte 1 /* DW_AT_external */
133 .uleb128 4 /* Abbrev: DW_TAG_variable (extern) */
134 .ascii "file_extern_locno_resolvable\0" /* DW_AT_name */
135 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
136 .byte 1 /* DW_AT_external */
138 .uleb128 4 /* Abbrev: DW_TAG_variable (extern) */
139 .ascii "file_extern_locno_unresolvable\0" /* DW_AT_name */
140 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
141 .byte 1 /* DW_AT_external */
144 .uleb128 6 /* Abbrev: DW_TAG_subprogram */
145 .byte 1 /* DW_AT_decl_file */
146 .byte 2 /* DW_AT_decl_line */
147 .ascii "main\0" /* DW_AT_name */
148 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
149 .4byte cu_text_start /* DW_AT_low_pc */
150 .4byte cu_text_end /* DW_AT_high_pc */
152 .uleb128 7 /* Abbrev: DW_TAG_variable (location) */
153 .ascii "main_local_locaddr_resolvable\0" /* DW_AT_name */
154 .byte 2f - 1f /* DW_AT_location */
155 1: .byte 3 /* DW_OP_addr */
156 .4byte resolvable /* <addr> */
157 2: .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
159 .uleb128 7 /* Abbrev: DW_TAG_variable (location) */
160 .ascii "main_local_locaddr_unresolvable\0" /* DW_AT_name */
161 .byte 2f - 1f /* DW_AT_location */
162 1: .byte 3 /* DW_OP_addr */
163 .4byte resolvable /* <addr> */
164 2: .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
166 .uleb128 7 /* Abbrev: DW_TAG_variable (location) */
167 .ascii "main_local_locempty_resolvable\0" /* DW_AT_name */
168 .byte 0 /* DW_AT_location */
169 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
171 .uleb128 7 /* Abbrev: DW_TAG_variable (location) */
172 .ascii "main_local_locempty_unresolvable\0" /* DW_AT_name */
173 .byte 0 /* DW_AT_location */
174 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
176 .uleb128 5 /* Abbrev: DW_TAG_variable (bare) */
177 .ascii "main_local_locno_resolvable\0" /* DW_AT_name */
178 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
180 .uleb128 5 /* Abbrev: DW_TAG_variable (bare) */
181 .ascii "main_local_locno_unresolvable\0" /* DW_AT_name */
182 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
184 .uleb128 8 /* Abbrev: DW_TAG_variable (location+extern) */
185 .ascii "main_extern_locaddr_resolvable\0" /* DW_AT_name */
186 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
187 .byte 2f - 1f /* DW_AT_location */
188 1: .byte 3 /* DW_OP_addr */
189 .4byte resolvable /* <addr> */
190 2: .byte 1 /* DW_AT_external */
192 .uleb128 8 /* Abbrev: DW_TAG_variable (location+extern) */
193 .ascii "main_extern_locaddr_unresolvable\0" /* DW_AT_name */
194 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
195 .byte 2f - 1f /* DW_AT_location */
196 1: .byte 3 /* DW_OP_addr */
197 .4byte resolvable /* <addr> */
198 2: .byte 1 /* DW_AT_external */
200 .uleb128 8 /* Abbrev: DW_TAG_variable (location+extern) */
201 .ascii "main_extern_locempty_resolvable\0" /* DW_AT_name */
202 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
203 .byte 0 /* DW_AT_location */
204 .byte 1 /* DW_AT_external */
206 .uleb128 8 /* Abbrev: DW_TAG_variable (location+extern) */
207 .ascii "main_extern_locempty_unresolvable\0" /* DW_AT_name */
208 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
209 .byte 0 /* DW_AT_location */
210 .byte 1 /* DW_AT_external */
212 .uleb128 4 /* Abbrev: DW_TAG_variable (extern) */
213 .ascii "main_extern_locno_resolvable\0" /* DW_AT_name */
214 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
215 .byte 1 /* DW_AT_external */
217 .uleb128 4 /* Abbrev: DW_TAG_variable (extern) */
218 .ascii "main_extern_locno_unresolvable\0" /* DW_AT_name */
219 .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
220 .byte 1 /* DW_AT_external */
222 .byte 0 /* End of children of main */
224 .byte 0 /* End of children of CU */
229 .section .debug_abbrev
231 .uleb128 1 /* Abbrev code */
232 .uleb128 0x11 /* DW_TAG_compile_unit */
233 .byte 1 /* has_children */
234 .uleb128 0x12 /* DW_AT_high_pc */
235 .uleb128 0x1 /* DW_FORM_addr */
236 .uleb128 0x11 /* DW_AT_low_pc */
237 .uleb128 0x1 /* DW_FORM_addr */
238 .uleb128 0x3 /* DW_AT_name */
239 .uleb128 0x8 /* DW_FORM_string */
240 .uleb128 0x25 /* DW_AT_producer */
241 .uleb128 0x8 /* DW_FORM_string */
242 .uleb128 0x13 /* DW_AT_language */
243 .uleb128 0xb /* DW_FORM_data1 */
244 .byte 0x0 /* Terminator */
245 .byte 0x0 /* Terminator */
247 .uleb128 3 /* Abbrev code */
248 .uleb128 0x24 /* DW_TAG_base_type */
249 .byte 0 /* has_children */
250 .uleb128 0x3 /* DW_AT_name */
251 .uleb128 0x8 /* DW_FORM_string */
252 .uleb128 0xb /* DW_AT_byte_size */
253 .uleb128 0xb /* DW_FORM_data1 */
254 .uleb128 0x3e /* DW_AT_encoding */
255 .uleb128 0xb /* DW_FORM_data1 */
256 .byte 0x0 /* Terminator */
257 .byte 0x0 /* Terminator */
259 .uleb128 4 /* Abbrev code (extern) */
260 .uleb128 0x34 /* DW_TAG_variable */
261 .byte 0 /* has_children */
262 .uleb128 0x3 /* DW_AT_name */
263 .uleb128 0x8 /* DW_FORM_string */
264 .uleb128 0x49 /* DW_AT_type */
265 .uleb128 0x13 /* DW_FORM_ref4 */
266 .uleb128 0x3f /* DW_AT_external */
267 .uleb128 0xc /* DW_FORM_flag */
268 .byte 0x0 /* Terminator */
269 .byte 0x0 /* Terminator */
271 .uleb128 5 /* Abbrev code (bare) */
272 .uleb128 0x34 /* DW_TAG_variable */
273 .byte 0 /* has_children */
274 .uleb128 0x3 /* DW_AT_name */
275 .uleb128 0x8 /* DW_FORM_string */
276 .uleb128 0x49 /* DW_AT_type */
277 .uleb128 0x13 /* DW_FORM_ref4 */
278 .byte 0x0 /* Terminator */
279 .byte 0x0 /* Terminator */
281 .uleb128 6 /* Abbrev code */
282 .uleb128 0x2e /* DW_TAG_subprogram */
283 .byte 1 /* has_children */
284 .uleb128 0x3a /* DW_AT_decl_file */
285 .uleb128 0xb /* DW_FORM_data1 */
286 .uleb128 0x3b /* DW_AT_decl_line */
287 .uleb128 0xb /* DW_FORM_data1 */
288 .uleb128 0x3 /* DW_AT_name */
289 .uleb128 0x8 /* DW_FORM_string */
290 .uleb128 0x49 /* DW_AT_type */
291 .uleb128 0x13 /* DW_FORM_ref4 */
292 .uleb128 0x11 /* DW_AT_low_pc */
293 .uleb128 0x1 /* DW_FORM_addr */
294 .uleb128 0x12 /* DW_AT_high_pc */
295 .uleb128 0x1 /* DW_FORM_addr */
296 .byte 0x0 /* Terminator */
297 .byte 0x0 /* Terminator */
299 .uleb128 7 /* Abbrev code (location) */
300 .uleb128 0x34 /* DW_TAG_variable */
301 .byte 0 /* has_children */
302 .uleb128 0x3 /* DW_AT_name */
303 .uleb128 0x8 /* DW_FORM_string */
304 .uleb128 0x2 /* DW_AT_location */
305 .uleb128 0xa /* DW_FORM_block1 */
306 .uleb128 0x49 /* DW_AT_type */
307 .uleb128 0x13 /* DW_FORM_ref4 */
308 .byte 0x0 /* Terminator */
309 .byte 0x0 /* Terminator */
311 .uleb128 8 /* Abbrev code (location+extern) */
312 .uleb128 0x34 /* DW_TAG_variable */
313 .byte 0 /* has_children */
314 .uleb128 0x3 /* DW_AT_name */
315 .uleb128 0x8 /* DW_FORM_string */
316 .uleb128 0x49 /* DW_AT_type */
317 .uleb128 0x13 /* DW_FORM_ref4 */
318 .uleb128 0x2 /* DW_AT_location */
319 .uleb128 0xa /* DW_FORM_block1 */
320 .uleb128 0x3f /* DW_AT_external */
321 .uleb128 0xc /* DW_FORM_flag */
322 .byte 0x0 /* Terminator */
323 .byte 0x0 /* Terminator */
325 .byte 0x0 /* Terminator */
326 .byte 0x0 /* Terminator */
327 .section .note.GNU-stack,"",@progbits