Revert "[lldb][test] Remove compiler version check and use regex" (#124101)
[llvm-project.git] / bolt / test / X86 / Inputs / dwarf5-df-types-dup-helper.s
blobcf0bdad3bbda188300fc60e677f4d0196694676d
1 # clang++ -gsplit-dwarf -g2 -gdwarf-5 -gpubnames -fdebug-types-section -fdebug-compilation-dir='.'
2 # header.h
3 # struct Foo2a {
4 # char *c1;
5 # char *c2;
6 # char *c3;
7 # };
9 # main.cpp
10 # #include "header.h"
11 # int fooint;
12 # struct Foo2Int {
13 # int *c1;
14 # int *c2;
15 # };
17 # int foo() {
18 # Foo2Int fint;
19 # Foo2a f;
20 # return 0;
21 # }
23 .text
24 .file "helper.cpp"
25 .file 0 "." "helper.cpp" md5 0xc33186b2db66a78883b1546aace9855d
26 .globl _Z3foov # -- Begin function _Z3foov
27 .p2align 4, 0x90
28 .type _Z3foov,@function
29 _Z3foov: # @_Z3foov
30 .Lfunc_begin0:
31 .loc 0 8 0 # helper.cpp:8:0
32 .cfi_startproc
33 # %bb.0: # %entry
34 pushq %rbp
35 .cfi_def_cfa_offset 16
36 .cfi_offset %rbp, -16
37 movq %rsp, %rbp
38 .cfi_def_cfa_register %rbp
39 .Ltmp0:
40 .loc 0 11 3 prologue_end # helper.cpp:11:3
41 xorl %eax, %eax
42 .loc 0 11 3 epilogue_begin is_stmt 0 # helper.cpp:11:3
43 popq %rbp
44 .cfi_def_cfa %rsp, 8
45 retq
46 .Ltmp1:
47 .Lfunc_end0:
48 .size _Z3foov, .Lfunc_end0-_Z3foov
49 .cfi_endproc
50 # -- End function
51 .type fooint,@object # @fooint
52 .bss
53 .globl fooint
54 .p2align 2, 0x0
55 fooint:
56 .long 0 # 0x0
57 .size fooint, 4
59 .section .debug_info.dwo,"e",@progbits
60 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
61 .Ldebug_info_dwo_start0:
62 .short 5 # DWARF version number
63 .byte 6 # DWARF Unit Type
64 .byte 8 # Address Size (in bytes)
65 .long 0 # Offset Into Abbrev. Section
66 .quad -3882554063269480080 # Type Signature
67 .long 31 # Type DIE Offset
68 .byte 1 # Abbrev [1] 0x18:0x2a DW_TAG_type_unit
69 .short 33 # DW_AT_language
70 .long 0 # DW_AT_stmt_list
71 .byte 2 # Abbrev [2] 0x1f:0x19 DW_TAG_structure_type
72 .byte 5 # DW_AT_calling_convention
73 .byte 7 # DW_AT_name
74 .byte 16 # DW_AT_byte_size
75 .byte 0 # DW_AT_decl_file
76 .byte 3 # DW_AT_decl_line
77 .byte 3 # Abbrev [3] 0x25:0x9 DW_TAG_member
78 .byte 5 # DW_AT_name
79 .long 56 # DW_AT_type
80 .byte 0 # DW_AT_decl_file
81 .byte 4 # DW_AT_decl_line
82 .byte 0 # DW_AT_data_member_location
83 .byte 3 # Abbrev [3] 0x2e:0x9 DW_TAG_member
84 .byte 6 # DW_AT_name
85 .long 56 # DW_AT_type
86 .byte 0 # DW_AT_decl_file
87 .byte 5 # DW_AT_decl_line
88 .byte 8 # DW_AT_data_member_location
89 .byte 0 # End Of Children Mark
90 .byte 4 # Abbrev [4] 0x38:0x5 DW_TAG_pointer_type
91 .long 61 # DW_AT_type
92 .byte 5 # Abbrev [5] 0x3d:0x4 DW_TAG_base_type
93 .byte 1 # DW_AT_name
94 .byte 5 # DW_AT_encoding
95 .byte 4 # DW_AT_byte_size
96 .byte 0 # End Of Children Mark
97 .Ldebug_info_dwo_end0:
98 .long .Ldebug_info_dwo_end1-.Ldebug_info_dwo_start1 # Length of Unit
99 .Ldebug_info_dwo_start1:
100 .short 5 # DWARF version number
101 .byte 6 # DWARF Unit Type
102 .byte 8 # Address Size (in bytes)
103 .long 0 # Offset Into Abbrev. Section
104 .quad 1175092228111723119 # Type Signature
105 .long 31 # Type DIE Offset
106 .byte 1 # Abbrev [1] 0x18:0x33 DW_TAG_type_unit
107 .short 33 # DW_AT_language
108 .long 0 # DW_AT_stmt_list
109 .byte 2 # Abbrev [2] 0x1f:0x22 DW_TAG_structure_type
110 .byte 5 # DW_AT_calling_convention
111 .byte 11 # DW_AT_name
112 .byte 24 # DW_AT_byte_size
113 .byte 1 # DW_AT_decl_file
114 .byte 1 # DW_AT_decl_line
115 .byte 3 # Abbrev [3] 0x25:0x9 DW_TAG_member
116 .byte 5 # DW_AT_name
117 .long 65 # DW_AT_type
118 .byte 1 # DW_AT_decl_file
119 .byte 2 # DW_AT_decl_line
120 .byte 0 # DW_AT_data_member_location
121 .byte 3 # Abbrev [3] 0x2e:0x9 DW_TAG_member
122 .byte 6 # DW_AT_name
123 .long 65 # DW_AT_type
124 .byte 1 # DW_AT_decl_file
125 .byte 3 # DW_AT_decl_line
126 .byte 8 # DW_AT_data_member_location
127 .byte 3 # Abbrev [3] 0x37:0x9 DW_TAG_member
128 .byte 10 # DW_AT_name
129 .long 65 # DW_AT_type
130 .byte 1 # DW_AT_decl_file
131 .byte 4 # DW_AT_decl_line
132 .byte 16 # DW_AT_data_member_location
133 .byte 0 # End Of Children Mark
134 .byte 4 # Abbrev [4] 0x41:0x5 DW_TAG_pointer_type
135 .long 70 # DW_AT_type
136 .byte 5 # Abbrev [5] 0x46:0x4 DW_TAG_base_type
137 .byte 9 # DW_AT_name
138 .byte 6 # DW_AT_encoding
139 .byte 1 # DW_AT_byte_size
140 .byte 0 # End Of Children Mark
141 .Ldebug_info_dwo_end1:
142 .section .debug_abbrev,"",@progbits
143 .byte 1 # Abbreviation Code
144 .byte 74 # DW_TAG_skeleton_unit
145 .byte 0 # DW_CHILDREN_no
146 .byte 16 # DW_AT_stmt_list
147 .byte 23 # DW_FORM_sec_offset
148 .byte 114 # DW_AT_str_offsets_base
149 .byte 23 # DW_FORM_sec_offset
150 .byte 27 # DW_AT_comp_dir
151 .byte 37 # DW_FORM_strx1
152 .byte 118 # DW_AT_dwo_name
153 .byte 37 # DW_FORM_strx1
154 .byte 17 # DW_AT_low_pc
155 .byte 27 # DW_FORM_addrx
156 .byte 18 # DW_AT_high_pc
157 .byte 6 # DW_FORM_data4
158 .byte 115 # DW_AT_addr_base
159 .byte 23 # DW_FORM_sec_offset
160 .byte 0 # EOM(1)
161 .byte 0 # EOM(2)
162 .byte 0 # EOM(3)
163 .section .debug_info,"",@progbits
164 .Lcu_begin0:
165 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
166 .Ldebug_info_start0:
167 .short 5 # DWARF version number
168 .byte 4 # DWARF Unit Type
169 .byte 8 # Address Size (in bytes)
170 .long .debug_abbrev # Offset Into Abbrev. Section
171 .quad 2142419470755914572
172 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit
173 .long .Lline_table_start0 # DW_AT_stmt_list
174 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base
175 .byte 0 # DW_AT_comp_dir
176 .byte 1 # DW_AT_dwo_name
177 .byte 1 # DW_AT_low_pc
178 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
179 .long .Laddr_table_base0 # DW_AT_addr_base
180 .Ldebug_info_end0:
181 .section .debug_str_offsets,"",@progbits
182 .long 12 # Length of String Offsets Set
183 .short 5
184 .short 0
185 .Lstr_offsets_base0:
186 .section .debug_str,"MS",@progbits,1
187 .Lskel_string0:
188 .asciz "." # string offset=0
189 .Lskel_string1:
190 .asciz "helper.dwo" # string offset=2
191 .section .debug_str_offsets,"",@progbits
192 .long .Lskel_string0
193 .long .Lskel_string1
194 .section .debug_str_offsets.dwo,"e",@progbits
195 .long 64 # Length of String Offsets Set
196 .short 5
197 .short 0
198 .section .debug_str.dwo,"eMS",@progbits,1
199 .Linfo_string0:
200 .asciz "fooint" # string offset=0
201 .Linfo_string1:
202 .asciz "int" # string offset=7
203 .Linfo_string2:
204 .asciz "_Z3foov" # string offset=11
205 .Linfo_string3:
206 .asciz "foo" # string offset=19
207 .Linfo_string4:
208 .asciz "fint" # string offset=23
209 .Linfo_string5:
210 .asciz "c1" # string offset=28
211 .Linfo_string6:
212 .asciz "c2" # string offset=31
213 .Linfo_string7:
214 .asciz "Foo2Int" # string offset=34
215 .Linfo_string8:
216 .asciz "f" # string offset=42
217 .Linfo_string9:
218 .asciz "char" # string offset=44
219 .Linfo_string10:
220 .asciz "c3" # string offset=49
221 .Linfo_string11:
222 .asciz "Foo2a" # string offset=52
223 .Linfo_string12:
224 .asciz "clang version 18.0.0" # string offset=58
225 .Linfo_string13:
226 .asciz "helper.cpp" # string offset=79
227 .Linfo_string14:
228 .asciz "helper.dwo" # string offset=90
229 .section .debug_str_offsets.dwo,"e",@progbits
230 .long 0
231 .long 7
232 .long 11
233 .long 19
234 .long 23
235 .long 28
236 .long 31
237 .long 34
238 .long 42
239 .long 44
240 .long 49
241 .long 52
242 .long 58
243 .long 79
244 .long 90
245 .section .debug_info.dwo,"e",@progbits
246 .long .Ldebug_info_dwo_end2-.Ldebug_info_dwo_start2 # Length of Unit
247 .Ldebug_info_dwo_start2:
248 .short 5 # DWARF version number
249 .byte 5 # DWARF Unit Type
250 .byte 8 # Address Size (in bytes)
251 .long 0 # Offset Into Abbrev. Section
252 .quad 2142419470755914572
253 .byte 6 # Abbrev [6] 0x14:0x4f DW_TAG_compile_unit
254 .byte 12 # DW_AT_producer
255 .short 33 # DW_AT_language
256 .byte 13 # DW_AT_name
257 .byte 14 # DW_AT_dwo_name
258 .byte 7 # Abbrev [7] 0x1a:0xb DW_TAG_variable
259 .byte 0 # DW_AT_name
260 .long 37 # DW_AT_type
261 # DW_AT_external
262 .byte 0 # DW_AT_decl_file
263 .byte 2 # DW_AT_decl_line
264 .byte 2 # DW_AT_location
265 .byte 161
266 .byte 0
267 .byte 5 # Abbrev [5] 0x25:0x4 DW_TAG_base_type
268 .byte 1 # DW_AT_name
269 .byte 5 # DW_AT_encoding
270 .byte 4 # DW_AT_byte_size
271 .byte 8 # Abbrev [8] 0x29:0x27 DW_TAG_subprogram
272 .byte 1 # DW_AT_low_pc
273 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
274 .byte 1 # DW_AT_frame_base
275 .byte 86
276 .byte 2 # DW_AT_linkage_name
277 .byte 3 # DW_AT_name
278 .byte 0 # DW_AT_decl_file
279 .byte 8 # DW_AT_decl_line
280 .long 37 # DW_AT_type
281 # DW_AT_external
282 .byte 9 # Abbrev [9] 0x39:0xb DW_TAG_variable
283 .byte 2 # DW_AT_location
284 .byte 145
285 .byte 112
286 .byte 4 # DW_AT_name
287 .byte 0 # DW_AT_decl_file
288 .byte 9 # DW_AT_decl_line
289 .long 80 # DW_AT_type
290 .byte 9 # Abbrev [9] 0x44:0xb DW_TAG_variable
291 .byte 2 # DW_AT_location
292 .byte 145
293 .byte 88
294 .byte 8 # DW_AT_name
295 .byte 0 # DW_AT_decl_file
296 .byte 10 # DW_AT_decl_line
297 .long 89 # DW_AT_type
298 .byte 0 # End Of Children Mark
299 .byte 10 # Abbrev [10] 0x50:0x9 DW_TAG_structure_type
300 # DW_AT_declaration
301 .quad -3882554063269480080 # DW_AT_signature
302 .byte 10 # Abbrev [10] 0x59:0x9 DW_TAG_structure_type
303 # DW_AT_declaration
304 .quad 1175092228111723119 # DW_AT_signature
305 .byte 0 # End Of Children Mark
306 .Ldebug_info_dwo_end2:
307 .section .debug_abbrev.dwo,"e",@progbits
308 .byte 1 # Abbreviation Code
309 .byte 65 # DW_TAG_type_unit
310 .byte 1 # DW_CHILDREN_yes
311 .byte 19 # DW_AT_language
312 .byte 5 # DW_FORM_data2
313 .byte 16 # DW_AT_stmt_list
314 .byte 23 # DW_FORM_sec_offset
315 .byte 0 # EOM(1)
316 .byte 0 # EOM(2)
317 .byte 2 # Abbreviation Code
318 .byte 19 # DW_TAG_structure_type
319 .byte 1 # DW_CHILDREN_yes
320 .byte 54 # DW_AT_calling_convention
321 .byte 11 # DW_FORM_data1
322 .byte 3 # DW_AT_name
323 .byte 37 # DW_FORM_strx1
324 .byte 11 # DW_AT_byte_size
325 .byte 11 # DW_FORM_data1
326 .byte 58 # DW_AT_decl_file
327 .byte 11 # DW_FORM_data1
328 .byte 59 # DW_AT_decl_line
329 .byte 11 # DW_FORM_data1
330 .byte 0 # EOM(1)
331 .byte 0 # EOM(2)
332 .byte 3 # Abbreviation Code
333 .byte 13 # DW_TAG_member
334 .byte 0 # DW_CHILDREN_no
335 .byte 3 # DW_AT_name
336 .byte 37 # DW_FORM_strx1
337 .byte 73 # DW_AT_type
338 .byte 19 # DW_FORM_ref4
339 .byte 58 # DW_AT_decl_file
340 .byte 11 # DW_FORM_data1
341 .byte 59 # DW_AT_decl_line
342 .byte 11 # DW_FORM_data1
343 .byte 56 # DW_AT_data_member_location
344 .byte 11 # DW_FORM_data1
345 .byte 0 # EOM(1)
346 .byte 0 # EOM(2)
347 .byte 4 # Abbreviation Code
348 .byte 15 # DW_TAG_pointer_type
349 .byte 0 # DW_CHILDREN_no
350 .byte 73 # DW_AT_type
351 .byte 19 # DW_FORM_ref4
352 .byte 0 # EOM(1)
353 .byte 0 # EOM(2)
354 .byte 5 # Abbreviation Code
355 .byte 36 # DW_TAG_base_type
356 .byte 0 # DW_CHILDREN_no
357 .byte 3 # DW_AT_name
358 .byte 37 # DW_FORM_strx1
359 .byte 62 # DW_AT_encoding
360 .byte 11 # DW_FORM_data1
361 .byte 11 # DW_AT_byte_size
362 .byte 11 # DW_FORM_data1
363 .byte 0 # EOM(1)
364 .byte 0 # EOM(2)
365 .byte 6 # Abbreviation Code
366 .byte 17 # DW_TAG_compile_unit
367 .byte 1 # DW_CHILDREN_yes
368 .byte 37 # DW_AT_producer
369 .byte 37 # DW_FORM_strx1
370 .byte 19 # DW_AT_language
371 .byte 5 # DW_FORM_data2
372 .byte 3 # DW_AT_name
373 .byte 37 # DW_FORM_strx1
374 .byte 118 # DW_AT_dwo_name
375 .byte 37 # DW_FORM_strx1
376 .byte 0 # EOM(1)
377 .byte 0 # EOM(2)
378 .byte 7 # Abbreviation Code
379 .byte 52 # DW_TAG_variable
380 .byte 0 # DW_CHILDREN_no
381 .byte 3 # DW_AT_name
382 .byte 37 # DW_FORM_strx1
383 .byte 73 # DW_AT_type
384 .byte 19 # DW_FORM_ref4
385 .byte 63 # DW_AT_external
386 .byte 25 # DW_FORM_flag_present
387 .byte 58 # DW_AT_decl_file
388 .byte 11 # DW_FORM_data1
389 .byte 59 # DW_AT_decl_line
390 .byte 11 # DW_FORM_data1
391 .byte 2 # DW_AT_location
392 .byte 24 # DW_FORM_exprloc
393 .byte 0 # EOM(1)
394 .byte 0 # EOM(2)
395 .byte 8 # Abbreviation Code
396 .byte 46 # DW_TAG_subprogram
397 .byte 1 # DW_CHILDREN_yes
398 .byte 17 # DW_AT_low_pc
399 .byte 27 # DW_FORM_addrx
400 .byte 18 # DW_AT_high_pc
401 .byte 6 # DW_FORM_data4
402 .byte 64 # DW_AT_frame_base
403 .byte 24 # DW_FORM_exprloc
404 .byte 110 # DW_AT_linkage_name
405 .byte 37 # DW_FORM_strx1
406 .byte 3 # DW_AT_name
407 .byte 37 # DW_FORM_strx1
408 .byte 58 # DW_AT_decl_file
409 .byte 11 # DW_FORM_data1
410 .byte 59 # DW_AT_decl_line
411 .byte 11 # DW_FORM_data1
412 .byte 73 # DW_AT_type
413 .byte 19 # DW_FORM_ref4
414 .byte 63 # DW_AT_external
415 .byte 25 # DW_FORM_flag_present
416 .byte 0 # EOM(1)
417 .byte 0 # EOM(2)
418 .byte 9 # Abbreviation Code
419 .byte 52 # DW_TAG_variable
420 .byte 0 # DW_CHILDREN_no
421 .byte 2 # DW_AT_location
422 .byte 24 # DW_FORM_exprloc
423 .byte 3 # DW_AT_name
424 .byte 37 # DW_FORM_strx1
425 .byte 58 # DW_AT_decl_file
426 .byte 11 # DW_FORM_data1
427 .byte 59 # DW_AT_decl_line
428 .byte 11 # DW_FORM_data1
429 .byte 73 # DW_AT_type
430 .byte 19 # DW_FORM_ref4
431 .byte 0 # EOM(1)
432 .byte 0 # EOM(2)
433 .byte 10 # Abbreviation Code
434 .byte 19 # DW_TAG_structure_type
435 .byte 0 # DW_CHILDREN_no
436 .byte 60 # DW_AT_declaration
437 .byte 25 # DW_FORM_flag_present
438 .byte 105 # DW_AT_signature
439 .byte 32 # DW_FORM_ref_sig8
440 .byte 0 # EOM(1)
441 .byte 0 # EOM(2)
442 .byte 0 # EOM(3)
443 .section .debug_line.dwo,"e",@progbits
444 .Ltmp2:
445 .long .Ldebug_line_end0-.Ldebug_line_start0 # unit length
446 .Ldebug_line_start0:
447 .short 5
448 .byte 8
449 .byte 0
450 .long .Lprologue_end0-.Lprologue_start0
451 .Lprologue_start0:
452 .byte 1
453 .byte 1
454 .byte 1
455 .byte -5
456 .byte 14
457 .byte 1
458 .byte 1
459 .byte 1
460 .byte 8
461 .byte 2
462 .byte 46
463 .byte 0
464 .byte 46
465 .byte 0
466 .byte 3
467 .byte 1
468 .byte 8
469 .byte 2
470 .byte 15
471 .byte 5
472 .byte 30
473 .byte 2
474 .ascii "helper.cpp"
475 .byte 0
476 .byte 0
477 .byte 0xc3, 0x31, 0x86, 0xb2
478 .byte 0xdb, 0x66, 0xa7, 0x88
479 .byte 0x83, 0xb1, 0x54, 0x6a
480 .byte 0xac, 0xe9, 0x85, 0x5d
481 .ascii "header.h"
482 .byte 0
483 .byte 1
484 .byte 0xfe, 0xa7, 0xbb, 0x1f
485 .byte 0x22, 0xc4, 0x7f, 0x12
486 .byte 0x9e, 0x15, 0x69, 0x5f
487 .byte 0x71, 0x37, 0xa1, 0xe7
488 .Lprologue_end0:
489 .Ldebug_line_end0:
490 .section .debug_addr,"",@progbits
491 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
492 .Ldebug_addr_start0:
493 .short 5 # DWARF version number
494 .byte 8 # Address size
495 .byte 0 # Segment selector size
496 .Laddr_table_base0:
497 .quad fooint
498 .quad .Lfunc_begin0
499 .Ldebug_addr_end0:
500 .ident "clang version 18.0.0"
501 .section ".note.GNU-stack","",@progbits
502 .addrsig
503 .section .debug_line,"",@progbits
504 .Lline_table_start0: