1# clang++ -O2 -g -gdwarf-4 -gsplit-dwarf 2# void use(int * x, int * y) { 3# *x += 4; 4# *y -= 2; 5# } 6# 7# int helper(int z_, int d_); 8# int x = 0; 9# int y = 1; 10# int main(int argc, char *argv[]) { 11# x = argc; 12# y = argc + 3; 13# //use(&x, &y); 14# return helper(x, y); 15# } 16 .text 17 .file "main.cpp" 18 .file 0 "." "main.cpp" md5 0x1a68208241c6577e68c7b707538826da 19 .globl _Z3usePiS_ # -- Begin function _Z3usePiS_ 20 .p2align 4, 0x90 21 .type _Z3usePiS_,@function 22_Z3usePiS_: # @_Z3usePiS_ 23.Lfunc_begin0: 24 .cfi_startproc 25# %bb.0: # %entry 26 #DEBUG_VALUE: use:x <- $rdi 27 #DEBUG_VALUE: use:y <- $rsi 28 .loc 0 2 5 prologue_end # main.cpp:2:5 29 addl $4, (%rdi) 30 .loc 0 3 5 # main.cpp:3:5 31 addl $-2, (%rsi) 32 .loc 0 4 1 # main.cpp:4:1 33 retq 34.Ltmp0: 35.Lfunc_end0: 36 .size _Z3usePiS_, .Lfunc_end0-_Z3usePiS_ 37 .cfi_endproc 38 # -- End function 39 .globl main # -- Begin function main 40 .p2align 4, 0x90 41 .type main,@function 42main: # @main 43.Lfunc_begin1: 44 .cfi_startproc 45# %bb.0: # %entry 46 #DEBUG_VALUE: main:argc <- $edi 47 #DEBUG_VALUE: main:argv <- $rsi 48 # kill: def $edi killed $edi def $rdi 49 .loc 0 10 6 prologue_end # main.cpp:10:6 50 movl %edi, x(%rip) 51 .loc 0 11 13 # main.cpp:11:13 52 leal 3(%rdi), %esi 53.Ltmp1: 54 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi 55 .loc 0 11 6 is_stmt 0 # main.cpp:11:6 56 movl %esi, y(%rip) 57 # kill: def $edi killed $edi killed $rdi 58.Ltmp2: 59 .loc 0 13 11 is_stmt 1 # main.cpp:13:11 60 jmp _Z6helperii@PLT # TAILCALL 61.Ltmp3: 62.Lfunc_end1: 63 .size main, .Lfunc_end1-main 64 .cfi_endproc 65 # -- End function 66 .type x,@object # @x 67 .bss 68 .globl x 69 .p2align 2, 0x0 70x: 71 .long 0 # 0x0 72 .size x, 4 73 74 .type y,@object # @y 75 .data 76 .globl y 77 .p2align 2, 0x0 78y: 79 .long 1 # 0x1 80 .size y, 4 81 82 .section .debug_loclists.dwo,"e",@progbits 83 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length 84.Ldebug_list_header_start0: 85 .short 5 # Version 86 .byte 8 # Address size 87 .byte 0 # Segment selector size 88 .long 1 # Offset entry count 89.Lloclists_table_base0: 90 .long .Ldebug_loc0-.Lloclists_table_base0 91.Ldebug_loc0: 92 .byte 1 # DW_LLE_base_addressx 93 .byte 2 # base address index 94 .byte 4 # DW_LLE_offset_pair 95 .uleb128 .Lfunc_begin1-.Lfunc_begin0 # starting offset 96 .uleb128 .Ltmp1-.Lfunc_begin0 # ending offset 97 .byte 1 # Loc expr size 98 .byte 84 # DW_OP_reg4 99 .byte 4 # DW_LLE_offset_pair 100 .uleb128 .Ltmp1-.Lfunc_begin0 # starting offset 101 .uleb128 .Lfunc_end1-.Lfunc_begin0 # ending offset 102 .byte 4 # Loc expr size 103 .byte 163 # DW_OP_entry_value 104 .byte 1 # 1 105 .byte 84 # DW_OP_reg4 106 .byte 159 # DW_OP_stack_value 107 .byte 0 # DW_LLE_end_of_list 108.Ldebug_list_header_end0: 109 .section .debug_abbrev,"",@progbits 110 .byte 1 # Abbreviation Code 111 .byte 74 # DW_TAG_skeleton_unit 112 .byte 0 # DW_CHILDREN_no 113 .byte 16 # DW_AT_stmt_list 114 .byte 23 # DW_FORM_sec_offset 115 .byte 114 # DW_AT_str_offsets_base 116 .byte 23 # DW_FORM_sec_offset 117 .byte 27 # DW_AT_comp_dir 118 .byte 37 # DW_FORM_strx1 119 .ascii "\264B" # DW_AT_GNU_pubnames 120 .byte 25 # DW_FORM_flag_present 121 .byte 118 # DW_AT_dwo_name 122 .byte 37 # DW_FORM_strx1 123 .byte 17 # DW_AT_low_pc 124 .byte 27 # DW_FORM_addrx 125 .byte 18 # DW_AT_high_pc 126 .byte 6 # DW_FORM_data4 127 .byte 115 # DW_AT_addr_base 128 .byte 23 # DW_FORM_sec_offset 129 .byte 0 # EOM(1) 130 .byte 0 # EOM(2) 131 .byte 0 # EOM(3) 132 .section .debug_info,"",@progbits 133.Lcu_begin0: 134 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 135.Ldebug_info_start0: 136 .short 5 # DWARF version number 137 .byte 4 # DWARF Unit Type 138 .byte 8 # Address Size (in bytes) 139 .long .debug_abbrev # Offset Into Abbrev. Section 140 .quad 1538385283627936656 141 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit 142 .long .Lline_table_start0 # DW_AT_stmt_list 143 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 144 .byte 0 # DW_AT_comp_dir 145 # DW_AT_GNU_pubnames 146 .byte 1 # DW_AT_dwo_name 147 .byte 2 # DW_AT_low_pc 148 .long .Lfunc_end1-.Lfunc_begin0 # DW_AT_high_pc 149 .long .Laddr_table_base0 # DW_AT_addr_base 150.Ldebug_info_end0: 151 .section .debug_str_offsets,"",@progbits 152 .long 12 # Length of String Offsets Set 153 .short 5 154 .short 0 155.Lstr_offsets_base0: 156 .section .debug_str,"MS",@progbits,1 157.Lskel_string0: 158 .asciz "." # string offset=0 159.Lskel_string1: 160 .asciz "main.dwo" # string offset=47 161 .section .debug_str_offsets,"",@progbits 162 .long .Lskel_string0 163 .long .Lskel_string1 164 .section .debug_str_offsets.dwo,"e",@progbits 165 .long 60 # Length of String Offsets Set 166 .short 5 167 .short 0 168 .section .debug_str.dwo,"eMS",@progbits,1 169.Linfo_string0: 170 .asciz "x" # string offset=0 171.Linfo_string1: 172 .asciz "int" # string offset=2 173.Linfo_string2: 174 .asciz "y" # string offset=6 175.Linfo_string3: 176 .asciz "_Z6helperii" # string offset=8 177.Linfo_string4: 178 .asciz "helper" # string offset=20 179.Linfo_string5: 180 .asciz "_Z3usePiS_" # string offset=27 181.Linfo_string6: 182 .asciz "use" # string offset=38 183.Linfo_string7: 184 .asciz "main" # string offset=42 185.Linfo_string8: 186 .asciz "argc" # string offset=47 187.Linfo_string9: 188 .asciz "argv" # string offset=52 189.Linfo_string10: 190 .asciz "char" # string offset=57 191.Linfo_string11: 192 .asciz "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)" # string offset=62 193.Linfo_string12: 194 .asciz "main.cpp" # string offset=163 195.Linfo_string13: 196 .asciz "main.dwo" # string offset=172 197 .section .debug_str_offsets.dwo,"e",@progbits 198 .long 0 199 .long 2 200 .long 6 201 .long 8 202 .long 20 203 .long 27 204 .long 38 205 .long 42 206 .long 47 207 .long 52 208 .long 57 209 .long 62 210 .long 163 211 .long 172 212 .section .debug_info.dwo,"e",@progbits 213 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit 214.Ldebug_info_dwo_start0: 215 .short 5 # DWARF version number 216 .byte 5 # DWARF Unit Type 217 .byte 8 # Address Size (in bytes) 218 .long 0 # Offset Into Abbrev. Section 219 .quad 1538385283627936656 220 .byte 1 # Abbrev [1] 0x14:0x8e DW_TAG_compile_unit 221 .byte 11 # DW_AT_producer 222 .short 33 # DW_AT_language 223 .byte 12 # DW_AT_name 224 .byte 13 # DW_AT_dwo_name 225 .byte 2 # Abbrev [2] 0x1a:0xb DW_TAG_variable 226 .byte 0 # DW_AT_name 227 .long 37 # DW_AT_type 228 # DW_AT_external 229 .byte 0 # DW_AT_decl_file 230 .byte 7 # DW_AT_decl_line 231 .byte 2 # DW_AT_location 232 .byte 161 233 .byte 0 234 .byte 3 # Abbrev [3] 0x25:0x4 DW_TAG_base_type 235 .byte 1 # DW_AT_name 236 .byte 5 # DW_AT_encoding 237 .byte 4 # DW_AT_byte_size 238 .byte 2 # Abbrev [2] 0x29:0xb DW_TAG_variable 239 .byte 2 # DW_AT_name 240 .long 37 # DW_AT_type 241 # DW_AT_external 242 .byte 0 # DW_AT_decl_file 243 .byte 8 # DW_AT_decl_line 244 .byte 2 # DW_AT_location 245 .byte 161 246 .byte 1 247 .byte 4 # Abbrev [4] 0x34:0x21 DW_TAG_subprogram 248 .byte 2 # DW_AT_low_pc 249 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 250 .byte 1 # DW_AT_frame_base 251 .byte 87 252 # DW_AT_call_all_calls 253 .byte 5 # DW_AT_linkage_name 254 .byte 6 # DW_AT_name 255 .byte 0 # DW_AT_decl_file 256 .byte 1 # DW_AT_decl_line 257 # DW_AT_external 258 .byte 5 # Abbrev [5] 0x40:0xa DW_TAG_formal_parameter 259 .byte 1 # DW_AT_location 260 .byte 85 261 .byte 0 # DW_AT_name 262 .byte 0 # DW_AT_decl_file 263 .byte 1 # DW_AT_decl_line 264 .long 142 # DW_AT_type 265 .byte 5 # Abbrev [5] 0x4a:0xa DW_TAG_formal_parameter 266 .byte 1 # DW_AT_location 267 .byte 84 268 .byte 2 # DW_AT_name 269 .byte 0 # DW_AT_decl_file 270 .byte 1 # DW_AT_decl_line 271 .long 142 # DW_AT_type 272 .byte 0 # End Of Children Mark 273 .byte 6 # Abbrev [6] 0x55:0x25 DW_TAG_subprogram 274 .byte 0 # DW_AT_ranges 275 .byte 1 # DW_AT_frame_base 276 .byte 87 277 # DW_AT_call_all_calls 278 .byte 7 # DW_AT_name 279 .byte 0 # DW_AT_decl_file 280 .byte 9 # DW_AT_decl_line 281 .long 37 # DW_AT_type 282 # DW_AT_external 283 .byte 5 # Abbrev [5] 0x60:0xa DW_TAG_formal_parameter 284 .byte 1 # DW_AT_location 285 .byte 85 286 .byte 8 # DW_AT_name 287 .byte 0 # DW_AT_decl_file 288 .byte 9 # DW_AT_decl_line 289 .long 37 # DW_AT_type 290 .byte 7 # Abbrev [7] 0x6a:0x9 DW_TAG_formal_parameter 291 .byte 0 # DW_AT_location 292 .byte 9 # DW_AT_name 293 .byte 0 # DW_AT_decl_file 294 .byte 9 # DW_AT_decl_line 295 .long 147 # DW_AT_type 296 .byte 8 # Abbrev [8] 0x73:0x6 DW_TAG_call_site 297 .long 122 # DW_AT_call_origin 298 # DW_AT_call_tail_call 299 .byte 3 # DW_AT_call_pc 300 .byte 0 # End Of Children Mark 301 .byte 9 # Abbrev [9] 0x7a:0x14 DW_TAG_subprogram 302 .byte 3 # DW_AT_linkage_name 303 .byte 4 # DW_AT_name 304 .byte 0 # DW_AT_decl_file 305 .byte 6 # DW_AT_decl_line 306 .long 37 # DW_AT_type 307 # DW_AT_declaration 308 # DW_AT_external 309 .byte 10 # Abbrev [10] 0x83:0x5 DW_TAG_formal_parameter 310 .long 37 # DW_AT_type 311 .byte 10 # Abbrev [10] 0x88:0x5 DW_TAG_formal_parameter 312 .long 37 # DW_AT_type 313 .byte 0 # End Of Children Mark 314 .byte 11 # Abbrev [11] 0x8e:0x5 DW_TAG_pointer_type 315 .long 37 # DW_AT_type 316 .byte 11 # Abbrev [11] 0x93:0x5 DW_TAG_pointer_type 317 .long 152 # DW_AT_type 318 .byte 11 # Abbrev [11] 0x98:0x5 DW_TAG_pointer_type 319 .long 157 # DW_AT_type 320 .byte 3 # Abbrev [3] 0x9d:0x4 DW_TAG_base_type 321 .byte 10 # DW_AT_name 322 .byte 6 # DW_AT_encoding 323 .byte 1 # DW_AT_byte_size 324 .byte 0 # End Of Children Mark 325.Ldebug_info_dwo_end0: 326 .section .debug_abbrev.dwo,"e",@progbits 327 .byte 1 # Abbreviation Code 328 .byte 17 # DW_TAG_compile_unit 329 .byte 1 # DW_CHILDREN_yes 330 .byte 37 # DW_AT_producer 331 .byte 37 # DW_FORM_strx1 332 .byte 19 # DW_AT_language 333 .byte 5 # DW_FORM_data2 334 .byte 3 # DW_AT_name 335 .byte 37 # DW_FORM_strx1 336 .byte 118 # DW_AT_dwo_name 337 .byte 37 # DW_FORM_strx1 338 .byte 0 # EOM(1) 339 .byte 0 # EOM(2) 340 .byte 2 # Abbreviation Code 341 .byte 52 # DW_TAG_variable 342 .byte 0 # DW_CHILDREN_no 343 .byte 3 # DW_AT_name 344 .byte 37 # DW_FORM_strx1 345 .byte 73 # DW_AT_type 346 .byte 19 # DW_FORM_ref4 347 .byte 63 # DW_AT_external 348 .byte 25 # DW_FORM_flag_present 349 .byte 58 # DW_AT_decl_file 350 .byte 11 # DW_FORM_data1 351 .byte 59 # DW_AT_decl_line 352 .byte 11 # DW_FORM_data1 353 .byte 2 # DW_AT_location 354 .byte 24 # DW_FORM_exprloc 355 .byte 0 # EOM(1) 356 .byte 0 # EOM(2) 357 .byte 3 # Abbreviation Code 358 .byte 36 # DW_TAG_base_type 359 .byte 0 # DW_CHILDREN_no 360 .byte 3 # DW_AT_name 361 .byte 37 # DW_FORM_strx1 362 .byte 62 # DW_AT_encoding 363 .byte 11 # DW_FORM_data1 364 .byte 11 # DW_AT_byte_size 365 .byte 11 # DW_FORM_data1 366 .byte 0 # EOM(1) 367 .byte 0 # EOM(2) 368 .byte 4 # Abbreviation Code 369 .byte 46 # DW_TAG_subprogram 370 .byte 1 # DW_CHILDREN_yes 371 .byte 17 # DW_AT_low_pc 372 .byte 27 # DW_FORM_addrx 373 .byte 18 # DW_AT_high_pc 374 .byte 6 # DW_FORM_data4 375 .byte 64 # DW_AT_frame_base 376 .byte 24 # DW_FORM_exprloc 377 .byte 122 # DW_AT_call_all_calls 378 .byte 25 # DW_FORM_flag_present 379 .byte 110 # DW_AT_linkage_name 380 .byte 37 # DW_FORM_strx1 381 .byte 3 # DW_AT_name 382 .byte 37 # DW_FORM_strx1 383 .byte 58 # DW_AT_decl_file 384 .byte 11 # DW_FORM_data1 385 .byte 59 # DW_AT_decl_line 386 .byte 11 # DW_FORM_data1 387 .byte 63 # DW_AT_external 388 .byte 25 # DW_FORM_flag_present 389 .byte 0 # EOM(1) 390 .byte 0 # EOM(2) 391 .byte 5 # Abbreviation Code 392 .byte 5 # DW_TAG_formal_parameter 393 .byte 0 # DW_CHILDREN_no 394 .byte 2 # DW_AT_location 395 .byte 24 # DW_FORM_exprloc 396 .byte 3 # DW_AT_name 397 .byte 37 # DW_FORM_strx1 398 .byte 58 # DW_AT_decl_file 399 .byte 11 # DW_FORM_data1 400 .byte 59 # DW_AT_decl_line 401 .byte 11 # DW_FORM_data1 402 .byte 73 # DW_AT_type 403 .byte 19 # DW_FORM_ref4 404 .byte 0 # EOM(1) 405 .byte 0 # EOM(2) 406 .byte 6 # Abbreviation Code 407 .byte 46 # DW_TAG_subprogram 408 .byte 1 # DW_CHILDREN_yes 409 .byte 85 # DW_AT_ranges 410 .byte 35 # DW_FORM_rnglistx 411 .byte 64 # DW_AT_frame_base 412 .byte 24 # DW_FORM_exprloc 413 .byte 122 # DW_AT_call_all_calls 414 .byte 25 # DW_FORM_flag_present 415 .byte 3 # DW_AT_name 416 .byte 37 # DW_FORM_strx1 417 .byte 58 # DW_AT_decl_file 418 .byte 11 # DW_FORM_data1 419 .byte 59 # DW_AT_decl_line 420 .byte 11 # DW_FORM_data1 421 .byte 73 # DW_AT_type 422 .byte 19 # DW_FORM_ref4 423 .byte 63 # DW_AT_external 424 .byte 25 # DW_FORM_flag_present 425 .byte 0 # EOM(1) 426 .byte 0 # EOM(2) 427 .byte 7 # Abbreviation Code 428 .byte 5 # DW_TAG_formal_parameter 429 .byte 0 # DW_CHILDREN_no 430 .byte 2 # DW_AT_location 431 .byte 34 # DW_FORM_loclistx 432 .byte 3 # DW_AT_name 433 .byte 37 # DW_FORM_strx1 434 .byte 58 # DW_AT_decl_file 435 .byte 11 # DW_FORM_data1 436 .byte 59 # DW_AT_decl_line 437 .byte 11 # DW_FORM_data1 438 .byte 73 # DW_AT_type 439 .byte 19 # DW_FORM_ref4 440 .byte 0 # EOM(1) 441 .byte 0 # EOM(2) 442 .byte 8 # Abbreviation Code 443 .byte 72 # DW_TAG_call_site 444 .byte 0 # DW_CHILDREN_no 445 .byte 127 # DW_AT_call_origin 446 .byte 19 # DW_FORM_ref4 447 .ascii "\202\001" # DW_AT_call_tail_call 448 .byte 25 # DW_FORM_flag_present 449 .ascii "\201\001" # DW_AT_call_pc 450 .byte 27 # DW_FORM_addrx 451 .byte 0 # EOM(1) 452 .byte 0 # EOM(2) 453 .byte 9 # Abbreviation Code 454 .byte 46 # DW_TAG_subprogram 455 .byte 1 # DW_CHILDREN_yes 456 .byte 110 # DW_AT_linkage_name 457 .byte 37 # DW_FORM_strx1 458 .byte 3 # DW_AT_name 459 .byte 37 # DW_FORM_strx1 460 .byte 58 # DW_AT_decl_file 461 .byte 11 # DW_FORM_data1 462 .byte 59 # DW_AT_decl_line 463 .byte 11 # DW_FORM_data1 464 .byte 73 # DW_AT_type 465 .byte 19 # DW_FORM_ref4 466 .byte 60 # DW_AT_declaration 467 .byte 25 # DW_FORM_flag_present 468 .byte 63 # DW_AT_external 469 .byte 25 # DW_FORM_flag_present 470 .byte 0 # EOM(1) 471 .byte 0 # EOM(2) 472 .byte 10 # Abbreviation Code 473 .byte 5 # DW_TAG_formal_parameter 474 .byte 0 # DW_CHILDREN_no 475 .byte 73 # DW_AT_type 476 .byte 19 # DW_FORM_ref4 477 .byte 0 # EOM(1) 478 .byte 0 # EOM(2) 479 .byte 11 # Abbreviation Code 480 .byte 15 # DW_TAG_pointer_type 481 .byte 0 # DW_CHILDREN_no 482 .byte 73 # DW_AT_type 483 .byte 19 # DW_FORM_ref4 484 .byte 0 # EOM(1) 485 .byte 0 # EOM(2) 486 .byte 0 # EOM(3) 487 .section .debug_rnglists.dwo,"e",@progbits 488 .long .Ldebug_list_header_end1-.Ldebug_list_header_start1 # Length 489.Ldebug_list_header_start1: 490 .short 5 # Version 491 .byte 8 # Address size 492 .byte 0 # Segment selector size 493 .long 1 # Offset entry count 494.Lrnglists_dwo_table_base0: 495 .long .Ldebug_ranges0-.Lrnglists_dwo_table_base0 496.Ldebug_ranges0: 497 .byte 4 # DW_RLE_offset_pair 498 .uleb128 .Lfunc_begin1-.Lfunc_begin0 # starting offset 499 .uleb128 .Lfunc_end1-.Lfunc_begin0 # ending offset 500 .byte 0 # DW_RLE_end_of_list 501.Ldebug_list_header_end1: 502 .section .debug_addr,"",@progbits 503 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution 504.Ldebug_addr_start0: 505 .short 5 # DWARF version number 506 .byte 8 # Address size 507 .byte 0 # Segment selector size 508.Laddr_table_base0: 509 .quad x 510 .quad y 511 .quad .Lfunc_begin0 512 .quad .Ltmp2 513.Ldebug_addr_end0: 514 .section .debug_gnu_pubnames,"",@progbits 515 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info 516.LpubNames_start0: 517 .short 2 # DWARF Version 518 .long .Lcu_begin0 # Offset of Compilation Unit Info 519 .long 40 # Compilation Unit Length 520 .long 26 # DIE offset 521 .byte 32 # Attributes: VARIABLE, EXTERNAL 522 .asciz "x" # External Name 523 .long 41 # DIE offset 524 .byte 32 # Attributes: VARIABLE, EXTERNAL 525 .asciz "y" # External Name 526 .long 52 # DIE offset 527 .byte 48 # Attributes: FUNCTION, EXTERNAL 528 .asciz "use" # External Name 529 .long 85 # DIE offset 530 .byte 48 # Attributes: FUNCTION, EXTERNAL 531 .asciz "main" # External Name 532 .long 0 # End Mark 533.LpubNames_end0: 534 .section .debug_gnu_pubtypes,"",@progbits 535 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info 536.LpubTypes_start0: 537 .short 2 # DWARF Version 538 .long .Lcu_begin0 # Offset of Compilation Unit Info 539 .long 40 # Compilation Unit Length 540 .long 37 # DIE offset 541 .byte 144 # Attributes: TYPE, STATIC 542 .asciz "int" # External Name 543 .long 157 # DIE offset 544 .byte 144 # Attributes: TYPE, STATIC 545 .asciz "char" # External Name 546 .long 0 # End Mark 547.LpubTypes_end0: 548 .ident "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)" 549 .section ".note.GNU-stack","",@progbits 550 .addrsig 551 .section .debug_line,"",@progbits 552.Lline_table_start0: 553