3 .globl main # -- Begin function main
9 .loc 1 5 0 # main.cpp:5:0
12 #DEBUG_VALUE: main:argc <- $edi
13 #DEBUG_VALUE: main:argv <- $rsi
15 .cfi_def_cfa_offset 16
19 .loc 1 6 7 prologue_end # main.cpp:6:7
20 cmpq $
0, _Z13may_not_existv@GOTPCREL
(%rip
)
24 #DEBUG_VALUE: main:argc <- $ebx
25 #DEBUG_VALUE: main:argv <- $rsi
26 .loc 1 7 5 # main.cpp:7:5
27 callq _Z13may_not_existv@PLT
29 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi
31 #DEBUG_VALUE: main:argc <- $ebx
32 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi
33 #DEBUG_VALUE: main:j <- 0
34 #DEBUG_VALUE: helper:i <- $ebx
35 .loc 1 2 10 # main.cpp:2:10
38 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi
39 #DEBUG_VALUE: helper:i <- $ebx
40 #DEBUG_VALUE: main:j <- $ebx
41 .loc 1 10 3 # main.cpp:10:3
43 .loc 1 10 3 epilogue_begin is_stmt 0 # main.cpp:10:3
46 #DEBUG_VALUE: helper:i <- $eax
47 #DEBUG_VALUE: main:j <- $eax
52 .size main, .Lfunc_end0-main
55 .section .debug_loc.dwo,"e",@progbits
59 .long .Ltmp1-.Lfunc_begin0
60 .short 1 # Loc expr size
61 .byte 85 # super-register DW_OP_reg5
65 .short 1 # Loc expr size
66 .byte 83 # super-register DW_OP_reg3
69 .long .Lfunc_end0-.Ltmp3
70 .short 4 # Loc expr size
71 .byte 243 # DW_OP_GNU_entry_value
73 .byte 85 # super-register DW_OP_reg5
74 .byte 159 # DW_OP_stack_value
79 .long .Ltmp2-.Lfunc_begin0
80 .short 1 # Loc expr size
84 .long .Lfunc_end0-.Ltmp2
85 .short 4 # Loc expr size
86 .byte 243 # DW_OP_GNU_entry_value
89 .byte 159 # DW_OP_stack_value
95 .short 3 # Loc expr size
96 .byte 17 # DW_OP_consts
98 .byte 159 # DW_OP_stack_value
102 .short 1 # Loc expr size
103 .byte 83 # super-register DW_OP_reg3
106 .long .Lfunc_end0-.Ltmp4
107 .short 1 # Loc expr size
108 .byte 80 # super-register DW_OP_reg0
110 .section .debug_abbrev,"",@progbits
111 .byte 1 # Abbreviation Code
112 .byte 17 # DW_TAG_compile_unit
113 .byte 0 # DW_CHILDREN_no
114 .byte 16 # DW_AT_stmt_list
115 .byte 23 # DW_FORM_sec_offset
116 .byte 27 # DW_AT_comp_dir
117 .byte 14 # DW_FORM_strp
118 .ascii "\264B" # DW_AT_GNU_pubnames
119 .byte 25 # DW_FORM_flag_present
120 .ascii "\260B" # DW_AT_GNU_dwo_name
121 .byte 14 # DW_FORM_strp
122 .ascii "\261B" # DW_AT_GNU_dwo_id
123 .byte 7 # DW_FORM_data8
124 .byte 17 # DW_AT_low_pc
125 .byte 1 # DW_FORM_addr
126 .byte 18 # DW_AT_high_pc
127 .byte 6 # DW_FORM_data4
128 .ascii "\263B" # DW_AT_GNU_addr_base
129 .byte 23 # DW_FORM_sec_offset
133 .section .debug_info,"",@progbits
135 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
137 .short 4 # DWARF version number
138 .long .debug_abbrev # Offset Into Abbrev. Section
139 .byte 8 # Address Size (in bytes)
140 .byte 1 # Abbrev [1] 0xb:0x25 DW_TAG_compile_unit
141 .long .Lline_table_start0 # DW_AT_stmt_list
142 .long .Lskel_string0 # DW_AT_comp_dir
144 .long .Lskel_string1 # DW_AT_GNU_dwo_name
145 .quad -5076722043903325778 # DW_AT_GNU_dwo_id
146 .quad .Lfunc_begin0 # DW_AT_low_pc
147 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
148 .long .Laddr_table_base0 # DW_AT_GNU_addr_base
150 .section .debug_str,"MS",@progbits,1
152 .asciz "." # string offset=0
154 .asciz "main.dwo" # string offset=38
155 .section .debug_str.dwo,"eMS",@progbits,1
157 .asciz "_ZL6helperi" # string offset=0
159 .asciz "helper" # string offset=12
161 .asciz "int" # string offset=19
163 .asciz "i" # string offset=23
165 .asciz "_Z13may_not_existv" # string offset=25
167 .asciz "may_not_exist" # string offset=44
169 .asciz "main" # string offset=58
171 .asciz "argc" # string offset=63
173 .asciz "argv" # string offset=68
175 .asciz "char" # string offset=73
177 .asciz "j" # string offset=78
179 .asciz "clang version 17.0.0 (https://github.com/llvm/llvm-project.git 640e07c49037cca41a1bfbeb916b569d8c950aea)" # string offset=80
181 .asciz "main.cpp" # string offset=185
183 .asciz "main.dwo" # string offset=194
184 .section .debug_str_offsets.dwo,"e",@progbits
199 .section .debug_info.dwo,"e",@progbits
200 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
201 .Ldebug_info_dwo_start0:
202 .short 4 # DWARF version number
203 .long 0 # Offset Into Abbrev. Section
204 .byte 8 # Address Size (in bytes)
205 .byte 1 # Abbrev [1] 0xb:0x88 DW_TAG_compile_unit
206 .byte 11 # DW_AT_producer
207 .short 33 # DW_AT_language
208 .byte 12 # DW_AT_name
209 .byte 13 # DW_AT_GNU_dwo_name
210 .quad -5076722043903325778 # DW_AT_GNU_dwo_id
211 .byte 2 # Abbrev [2] 0x19:0x13 DW_TAG_subprogram
212 .byte 0 # DW_AT_linkage_name
214 .byte 1 # DW_AT_decl_file
215 .byte 1 # DW_AT_decl_line
216 .long 44 # DW_AT_type
217 .byte 1 # DW_AT_inline
218 .byte 3 # Abbrev [3] 0x23:0x8 DW_TAG_formal_parameter
220 .byte 1 # DW_AT_decl_file
221 .byte 1 # DW_AT_decl_line
222 .long 44 # DW_AT_type
223 .byte 0 # End Of Children Mark
224 .byte 4 # Abbrev [4] 0x2c:0x4 DW_TAG_base_type
226 .byte 5 # DW_AT_encoding
227 .byte 4 # DW_AT_byte_size
228 .byte 5 # Abbrev [5] 0x30:0x4f DW_TAG_subprogram
229 .byte 0 # DW_AT_low_pc
230 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
231 .byte 1 # DW_AT_frame_base
233 # DW_AT_GNU_all_call_sites
235 .byte 1 # DW_AT_decl_file
236 .byte 5 # DW_AT_decl_line
237 .long 44 # DW_AT_type
239 .byte 6 # Abbrev [6] 0x3f:0xc DW_TAG_formal_parameter
240 .long .Ldebug_loc0-.debug_loc.dwo # DW_AT_location
242 .byte 1 # DW_AT_decl_file
243 .byte 5 # DW_AT_decl_line
244 .long 44 # DW_AT_type
245 .byte 6 # Abbrev [6] 0x4b:0xc DW_TAG_formal_parameter
246 .long .Ldebug_loc1-.debug_loc.dwo # DW_AT_location
248 .byte 1 # DW_AT_decl_file
249 .byte 5 # DW_AT_decl_line
250 .long 132 # DW_AT_type
251 .byte 7 # Abbrev [7] 0x57:0xc DW_TAG_variable
252 .long .Ldebug_loc2-.debug_loc.dwo # DW_AT_location
253 .byte 10 # DW_AT_name
254 .byte 1 # DW_AT_decl_file
255 .byte 8 # DW_AT_decl_line
256 .long 44 # DW_AT_type
257 .byte 8 # Abbrev [8] 0x63:0x15 DW_TAG_inlined_subroutine
258 .long 25 # DW_AT_abstract_origin
259 .byte 1 # DW_AT_low_pc
260 .long .Ltmp3-.Ltmp2 # DW_AT_high_pc
261 .byte 1 # DW_AT_call_file
262 .byte 9 # DW_AT_call_line
263 .byte 32 # DW_AT_call_column
264 .byte 9 # Abbrev [9] 0x70:0x7 DW_TAG_formal_parameter
265 .byte 1 # DW_AT_location
267 .long 35 # DW_AT_abstract_origin
268 .byte 0 # End Of Children Mark
269 .byte 10 # Abbrev [10] 0x78:0x6 DW_TAG_GNU_call_site
270 .long 127 # DW_AT_abstract_origin
271 .byte 1 # DW_AT_low_pc
272 .byte 0 # End Of Children Mark
273 .byte 11 # Abbrev [11] 0x7f:0x5 DW_TAG_subprogram
274 .byte 4 # DW_AT_linkage_name
276 .byte 1 # DW_AT_decl_file
277 .byte 4 # DW_AT_decl_line
280 .byte 12 # Abbrev [12] 0x84:0x5 DW_TAG_pointer_type
281 .long 137 # DW_AT_type
282 .byte 12 # Abbrev [12] 0x89:0x5 DW_TAG_pointer_type
283 .long 142 # DW_AT_type
284 .byte 4 # Abbrev [4] 0x8e:0x4 DW_TAG_base_type
286 .byte 6 # DW_AT_encoding
287 .byte 1 # DW_AT_byte_size
288 .byte 0 # End Of Children Mark
289 .Ldebug_info_dwo_end0:
290 .section .debug_abbrev.dwo,"e",@progbits
291 .byte 1 # Abbreviation Code
292 .byte 17 # DW_TAG_compile_unit
293 .byte 1 # DW_CHILDREN_yes
294 .byte 37 # DW_AT_producer
295 .ascii "\202>" # DW_FORM_GNU_str_index
296 .byte 19 # DW_AT_language
297 .byte 5 # DW_FORM_data2
299 .ascii "\202>" # DW_FORM_GNU_str_index
300 .ascii "\260B" # DW_AT_GNU_dwo_name
301 .ascii "\202>" # DW_FORM_GNU_str_index
302 .ascii "\261B" # DW_AT_GNU_dwo_id
303 .byte 7 # DW_FORM_data8
306 .byte 2 # Abbreviation Code
307 .byte 46 # DW_TAG_subprogram
308 .byte 1 # DW_CHILDREN_yes
309 .byte 110 # DW_AT_linkage_name
310 .ascii "\202>" # DW_FORM_GNU_str_index
312 .ascii "\202>" # DW_FORM_GNU_str_index
313 .byte 58 # DW_AT_decl_file
314 .byte 11 # DW_FORM_data1
315 .byte 59 # DW_AT_decl_line
316 .byte 11 # DW_FORM_data1
317 .byte 73 # DW_AT_type
318 .byte 19 # DW_FORM_ref4
319 .byte 32 # DW_AT_inline
320 .byte 11 # DW_FORM_data1
323 .byte 3 # Abbreviation Code
324 .byte 5 # DW_TAG_formal_parameter
325 .byte 0 # DW_CHILDREN_no
327 .ascii "\202>" # DW_FORM_GNU_str_index
328 .byte 58 # DW_AT_decl_file
329 .byte 11 # DW_FORM_data1
330 .byte 59 # DW_AT_decl_line
331 .byte 11 # DW_FORM_data1
332 .byte 73 # DW_AT_type
333 .byte 19 # DW_FORM_ref4
336 .byte 4 # Abbreviation Code
337 .byte 36 # DW_TAG_base_type
338 .byte 0 # DW_CHILDREN_no
340 .ascii "\202>" # DW_FORM_GNU_str_index
341 .byte 62 # DW_AT_encoding
342 .byte 11 # DW_FORM_data1
343 .byte 11 # DW_AT_byte_size
344 .byte 11 # DW_FORM_data1
347 .byte 5 # Abbreviation Code
348 .byte 46 # DW_TAG_subprogram
349 .byte 1 # DW_CHILDREN_yes
350 .byte 17 # DW_AT_low_pc
351 .ascii "\201>" # DW_FORM_GNU_addr_index
352 .byte 18 # DW_AT_high_pc
353 .byte 6 # DW_FORM_data4
354 .byte 64 # DW_AT_frame_base
355 .byte 24 # DW_FORM_exprloc
356 .ascii "\227B" # DW_AT_GNU_all_call_sites
357 .byte 25 # DW_FORM_flag_present
359 .ascii "\202>" # DW_FORM_GNU_str_index
360 .byte 58 # DW_AT_decl_file
361 .byte 11 # DW_FORM_data1
362 .byte 59 # DW_AT_decl_line
363 .byte 11 # DW_FORM_data1
364 .byte 73 # DW_AT_type
365 .byte 19 # DW_FORM_ref4
366 .byte 63 # DW_AT_external
367 .byte 25 # DW_FORM_flag_present
370 .byte 6 # Abbreviation Code
371 .byte 5 # DW_TAG_formal_parameter
372 .byte 0 # DW_CHILDREN_no
373 .byte 2 # DW_AT_location
374 .byte 23 # DW_FORM_sec_offset
376 .ascii "\202>" # DW_FORM_GNU_str_index
377 .byte 58 # DW_AT_decl_file
378 .byte 11 # DW_FORM_data1
379 .byte 59 # DW_AT_decl_line
380 .byte 11 # DW_FORM_data1
381 .byte 73 # DW_AT_type
382 .byte 19 # DW_FORM_ref4
385 .byte 7 # Abbreviation Code
386 .byte 52 # DW_TAG_variable
387 .byte 0 # DW_CHILDREN_no
388 .byte 2 # DW_AT_location
389 .byte 23 # DW_FORM_sec_offset
391 .ascii "\202>" # DW_FORM_GNU_str_index
392 .byte 58 # DW_AT_decl_file
393 .byte 11 # DW_FORM_data1
394 .byte 59 # DW_AT_decl_line
395 .byte 11 # DW_FORM_data1
396 .byte 73 # DW_AT_type
397 .byte 19 # DW_FORM_ref4
400 .byte 8 # Abbreviation Code
401 .byte 29 # DW_TAG_inlined_subroutine
402 .byte 1 # DW_CHILDREN_yes
403 .byte 49 # DW_AT_abstract_origin
404 .byte 19 # DW_FORM_ref4
405 .byte 17 # DW_AT_low_pc
406 .ascii "\201>" # DW_FORM_GNU_addr_index
407 .byte 18 # DW_AT_high_pc
408 .byte 6 # DW_FORM_data4
409 .byte 88 # DW_AT_call_file
410 .byte 11 # DW_FORM_data1
411 .byte 89 # DW_AT_call_line
412 .byte 11 # DW_FORM_data1
413 .byte 87 # DW_AT_call_column
414 .byte 11 # DW_FORM_data1
417 .byte 9 # Abbreviation Code
418 .byte 5 # DW_TAG_formal_parameter
419 .byte 0 # DW_CHILDREN_no
420 .byte 2 # DW_AT_location
421 .byte 24 # DW_FORM_exprloc
422 .byte 49 # DW_AT_abstract_origin
423 .byte 19 # DW_FORM_ref4
426 .byte 10 # Abbreviation Code
427 .ascii "\211\202\001" # DW_TAG_GNU_call_site
428 .byte 0 # DW_CHILDREN_no
429 .byte 49 # DW_AT_abstract_origin
430 .byte 19 # DW_FORM_ref4
431 .byte 17 # DW_AT_low_pc
432 .ascii "\201>" # DW_FORM_GNU_addr_index
435 .byte 11 # Abbreviation Code
436 .byte 46 # DW_TAG_subprogram
437 .byte 0 # DW_CHILDREN_no
438 .byte 110 # DW_AT_linkage_name
439 .ascii "\202>" # DW_FORM_GNU_str_index
441 .ascii "\202>" # DW_FORM_GNU_str_index
442 .byte 58 # DW_AT_decl_file
443 .byte 11 # DW_FORM_data1
444 .byte 59 # DW_AT_decl_line
445 .byte 11 # DW_FORM_data1
446 .byte 60 # DW_AT_declaration
447 .byte 25 # DW_FORM_flag_present
448 .byte 63 # DW_AT_external
449 .byte 25 # DW_FORM_flag_present
452 .byte 12 # Abbreviation Code
453 .byte 15 # DW_TAG_pointer_type
454 .byte 0 # DW_CHILDREN_no
455 .byte 73 # DW_AT_type
456 .byte 19 # DW_FORM_ref4
460 .section .debug_addr,"",@progbits
467 .section .debug_gnu_pubnames,"",@progbits
468 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
470 .short 2 # DWARF Version
471 .long .Lcu_begin0 # Offset of Compilation Unit Info
472 .long 48 # Compilation Unit Length
473 .long 48 # DIE offset
474 .byte 48 # Attributes: FUNCTION, EXTERNAL
475 .asciz "main" # External Name
476 .long 25 # DIE offset
477 .byte 176 # Attributes: FUNCTION, STATIC
478 .asciz "helper" # External Name
481 .section .debug_gnu_pubtypes,"",@progbits
482 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
484 .short 2 # DWARF Version
485 .long .Lcu_begin0 # Offset of Compilation Unit Info
486 .long 48 # Compilation Unit Length
487 .long 44 # DIE offset
488 .byte 144 # Attributes: TYPE, STATIC
489 .asciz "int" # External Name
490 .long 142 # DIE offset
491 .byte 144 # Attributes: TYPE, STATIC
492 .asciz "char" # External Name
495 .weak _Z13may_not_existv
496 .ident "clang version 17.0.0 (https://github.com/llvm/llvm-project.git 640e07c49037cca41a1bfbeb916b569d8c950aea)"
497 .section ".note.GNU-stack","",@progbits
499 .addrsig_sym _Z13may_not_existv
500 .section .debug_line,"",@progbits