688 lines · plain
1// REQUIRES: aarch64-registered-target2 3// RUN: llvm-mc -filetype=obj -triple=aarch64-linux-android -o %t.o %s4// RUN: echo 'FRAME %t.o 0' | llvm-symbolizer | FileCheck %s5 6// CHECK: f7// CHECK-NEXT: a8// CHECK-NEXT: /tmp{{/|\\}}stack.c:209// CHECK-NEXT: -192 32 19210// CHECK-NEXT: g11// CHECK-NEXT: p12// CHECK-NEXT: /tmp{{/|\\}}stack.c:813// CHECK-NEXT: ?? 8 ??14// CHECK-NEXT: g15// CHECK-NEXT: b16// CHECK-NEXT: /tmp{{/|\\}}stack.c:1017// CHECK-NEXT: -128 32 12818// CHECK-NEXT: h19// CHECK-NEXT: p120// CHECK-NEXT: /tmp{{/|\\}}stack.c:321// CHECK-NEXT: ?? 8 ??22// CHECK-NEXT: h23// CHECK-NEXT: p224// CHECK-NEXT: /tmp{{/|\\}}stack.c:325// CHECK-NEXT: ?? 8 ??26// CHECK-NEXT: h27// CHECK-NEXT: d28// CHECK-NEXT: /tmp{{/|\\}}stack.c:429// CHECK-NEXT: -96 32 030// CHECK-NEXT: g31// CHECK-NEXT: c32// CHECK-NEXT: /tmp{{/|\\}}stack.c:1433// CHECK-NEXT: -160 32 6434// CHECK-NEXT: h35// CHECK-NEXT: p136// CHECK-NEXT: /tmp{{/|\\}}stack.c:337// CHECK-NEXT: ?? 8 ??38// CHECK-NEXT: h39// CHECK-NEXT: p240// CHECK-NEXT: /tmp{{/|\\}}stack.c:341// CHECK-NEXT: ?? 8 ??42// CHECK-NEXT: h43// CHECK-NEXT: d44// CHECK-NEXT: /tmp{{/|\\}}stack.c:445// CHECK-NEXT: -96 32 046 47// Generated from:48//49// void i(void *, void *, void *);50//51// static void h(void *p1, void *p2) {52// char d[32];53// i(d, p1, p2);54// }55//56// static void g(void *p) {57// {58// char b[32];59// h(b, p);60// }61// {62// char c[32];63// h(c, p);64// }65// }66//67// clang -S -o - -fsanitize=hwaddress --target=aarch64-linux-android /tmp/stack.c -O -fsanitize-hwaddress-abi=platform -g68 69 .text70 .file "stack.c"71 .globl f // -- Begin function f72 .p2align 273 .type f,@function74f: // @f75.Lfunc_begin0:76 .file 1 "/tmp" "stack.c"77 .loc 1 19 0 // stack.c:19:078 .cfi_startproc79// %bb.0: // %entry80 sub sp, sp, #208 // =20881 stp x26, x25, [sp, #128] // 16-byte Folded Spill82 stp x24, x23, [sp, #144] // 16-byte Folded Spill83 stp x22, x21, [sp, #160] // 16-byte Folded Spill84 stp x20, x19, [sp, #176] // 16-byte Folded Spill85 stp x29, x30, [sp, #192] // 16-byte Folded Spill86 add x29, sp, #192 // =19287 .cfi_def_cfa w29, 1688 .cfi_offset w30, -889 .cfi_offset w29, -1690 .cfi_offset w19, -2491 .cfi_offset w20, -3292 .cfi_offset w21, -4093 .cfi_offset w22, -4894 .cfi_offset w23, -5695 .cfi_offset w24, -6496 .cfi_offset w25, -7297 .cfi_offset w26, -8098 mrs x8, TPIDR_EL099 ldr x12, [x8, #48]100.Ltmp0:101 adr x14, .Ltmp0102 orr x14, x14, x29, lsl #44103 add x9, sp, #96 // =96104 asr x15, x12, #3105 asr x16, x12, #56106 orr x17, x12, #0xffffffff107 str x14, [x12], #8108 bic x12, x12, x16, lsl #12109 str x12, [x8, #48]110.Ltmp1:111 .loc 1 4 8 prologue_end // stack.c:4:8112 and w8, w15, #0xff113 lsr x22, x9, #4114 add x25, x17, #1 // =1115 bfi w8, w8, #8, #8116 add x10, sp, #64 // =64117 strh w8, [x25, x22]118.Ltmp2:119 .loc 1 10 10 // stack.c:10:10120 eor x8, x15, #0x80121 orr x1, x10, x8, lsl #56122 and w8, w8, #0xff123 lsr x23, x10, #4124 bfi w8, w8, #8, #8125 add x11, sp, #32 // =32126 strh w8, [x25, x23]127.Ltmp3:128 .loc 1 14 10 // stack.c:14:10129 eor x8, x15, #0x40130 orr x19, x11, x8, lsl #56131 and w8, w8, #0xff132 lsr x24, x11, #4133 bfi w8, w8, #8, #8134 mov x13, sp135 strh w8, [x25, x24]136.Ltmp4:137 .loc 1 20 3 // stack.c:20:3138 eor x8, x15, #0xc0139.Ltmp5:140 .loc 1 4 8 // stack.c:4:8141 orr x20, x9, x15, lsl #56142.Ltmp6:143 .loc 1 20 3 // stack.c:20:3144 orr x21, x13, x8, lsl #56145 and w8, w8, #0xff146 lsr x26, x13, #4147 bfi w8, w8, #8, #8148.Ltmp7:149 .loc 1 5 3 // stack.c:5:3150 mov x0, x20151 mov x2, x21152.Ltmp8:153 .loc 1 20 3 // stack.c:20:3154 strh w8, [x25, x26]155.Ltmp9:156 //DEBUG_VALUE: h:p1 <- $x1157 //DEBUG_VALUE: g:p <- $x21158 //DEBUG_VALUE: h:p2 <- $x21159 //DEBUG_VALUE: h:p2 <- $x21160 .loc 1 5 3 // stack.c:5:3161 bl i162.Ltmp10:163 //DEBUG_VALUE: h:p1 <- $x19164 .loc 1 5 3 is_stmt 0 // stack.c:5:3165 mov x0, x20166 mov x1, x19167 mov x2, x21168 bl i169.Ltmp11:170 .loc 1 22 1 is_stmt 1 // stack.c:22:1171 strh wzr, [x25, x22]172 strh wzr, [x25, x23]173 strh wzr, [x25, x24]174 strh wzr, [x25, x26]175 ldp x29, x30, [sp, #192] // 16-byte Folded Reload176 ldp x20, x19, [sp, #176] // 16-byte Folded Reload177.Ltmp12:178 ldp x22, x21, [sp, #160] // 16-byte Folded Reload179.Ltmp13:180 ldp x24, x23, [sp, #144] // 16-byte Folded Reload181 ldp x26, x25, [sp, #128] // 16-byte Folded Reload182 add sp, sp, #208 // =208183 ret184.Ltmp14:185.Lfunc_end0:186 .size f, .Lfunc_end0-f187 .cfi_endproc188 // -- End function189 .section .text.hwasan.module_ctor,"axG",@progbits,hwasan.module_ctor,comdat190 .p2align 2 // -- Begin function hwasan.module_ctor191 .type hwasan.module_ctor,@function192hwasan.module_ctor: // @hwasan.module_ctor193.Lfunc_begin1:194 .cfi_startproc195// %bb.0:196 str x30, [sp, #-16]! // 8-byte Folded Spill197 .cfi_def_cfa_offset 16198 .cfi_offset w30, -16199 bl __hwasan_init200 ldr x30, [sp], #16 // 8-byte Folded Reload201 ret202.Lfunc_end1:203 .size hwasan.module_ctor, .Lfunc_end1-hwasan.module_ctor204 .cfi_endproc205 // -- End function206 .section .init_array.0,"awG",@init_array,hwasan.module_ctor,comdat207 .p2align 3208 .xword hwasan.module_ctor209 .section .debug_str,"MS",@progbits,1210.Linfo_string0:211 .asciz "clang version 9.0.0 " // string offset=0212.Linfo_string1:213 .asciz "stack.c" // string offset=21214.Linfo_string2:215 .asciz "/tmp" // string offset=29216.Linfo_string3:217 .asciz "h" // string offset=34218.Linfo_string4:219 .asciz "p1" // string offset=36220.Linfo_string5:221 .asciz "p2" // string offset=39222.Linfo_string6:223 .asciz "d" // string offset=42224.Linfo_string7:225 .asciz "char" // string offset=44226.Linfo_string8:227 .asciz "__ARRAY_SIZE_TYPE__" // string offset=49228.Linfo_string9:229 .asciz "g" // string offset=69230.Linfo_string10:231 .asciz "p" // string offset=71232.Linfo_string11:233 .asciz "b" // string offset=73234.Linfo_string12:235 .asciz "c" // string offset=75236.Linfo_string13:237 .asciz "f" // string offset=77238.Linfo_string14:239 .asciz "a" // string offset=79240 .section .debug_loc,"",@progbits241.Ldebug_loc0:242 .xword .Ltmp9-.Lfunc_begin0243 .xword .Ltmp10-.Lfunc_begin0244 .hword 1 // Loc expr size245 .byte 81 // DW_OP_reg1246 .xword 0247 .xword 0248.Ldebug_loc1:249 .xword .Ltmp9-.Lfunc_begin0250 .xword .Ltmp13-.Lfunc_begin0251 .hword 1 // Loc expr size252 .byte 101 // DW_OP_reg21253 .xword 0254 .xword 0255.Ldebug_loc2:256 .xword .Ltmp9-.Lfunc_begin0257 .xword .Ltmp13-.Lfunc_begin0258 .hword 1 // Loc expr size259 .byte 101 // DW_OP_reg21260 .xword 0261 .xword 0262.Ldebug_loc3:263 .xword .Ltmp9-.Lfunc_begin0264 .xword .Ltmp13-.Lfunc_begin0265 .hword 1 // Loc expr size266 .byte 101 // DW_OP_reg21267 .xword 0268 .xword 0269.Ldebug_loc4:270 .xword .Ltmp10-.Lfunc_begin0271 .xword .Ltmp12-.Lfunc_begin0272 .hword 1 // Loc expr size273 .byte 99 // DW_OP_reg19274 .xword 0275 .xword 0276 .section .debug_abbrev,"",@progbits277 .byte 1 // Abbreviation Code278 .byte 17 // DW_TAG_compile_unit279 .byte 1 // DW_CHILDREN_yes280 .byte 37 // DW_AT_producer281 .byte 14 // DW_FORM_strp282 .byte 19 // DW_AT_language283 .byte 5 // DW_FORM_data2284 .byte 3 // DW_AT_name285 .byte 14 // DW_FORM_strp286 .byte 16 // DW_AT_stmt_list287 .byte 23 // DW_FORM_sec_offset288 .byte 27 // DW_AT_comp_dir289 .byte 14 // DW_FORM_strp290 .byte 17 // DW_AT_low_pc291 .byte 1 // DW_FORM_addr292 .byte 18 // DW_AT_high_pc293 .byte 6 // DW_FORM_data4294 .byte 0 // EOM(1)295 .byte 0 // EOM(2)296 .byte 2 // Abbreviation Code297 .byte 46 // DW_TAG_subprogram298 .byte 1 // DW_CHILDREN_yes299 .byte 3 // DW_AT_name300 .byte 14 // DW_FORM_strp301 .byte 58 // DW_AT_decl_file302 .byte 11 // DW_FORM_data1303 .byte 59 // DW_AT_decl_line304 .byte 11 // DW_FORM_data1305 .byte 39 // DW_AT_prototyped306 .byte 25 // DW_FORM_flag_present307 .byte 32 // DW_AT_inline308 .byte 11 // DW_FORM_data1309 .byte 0 // EOM(1)310 .byte 0 // EOM(2)311 .byte 3 // Abbreviation Code312 .byte 5 // DW_TAG_formal_parameter313 .byte 0 // DW_CHILDREN_no314 .byte 3 // DW_AT_name315 .byte 14 // DW_FORM_strp316 .byte 58 // DW_AT_decl_file317 .byte 11 // DW_FORM_data1318 .byte 59 // DW_AT_decl_line319 .byte 11 // DW_FORM_data1320 .byte 73 // DW_AT_type321 .byte 19 // DW_FORM_ref4322 .byte 0 // EOM(1)323 .byte 0 // EOM(2)324 .byte 4 // Abbreviation Code325 .byte 52 // DW_TAG_variable326 .byte 0 // DW_CHILDREN_no327 .byte 3 // DW_AT_name328 .byte 14 // DW_FORM_strp329 .byte 58 // DW_AT_decl_file330 .byte 11 // DW_FORM_data1331 .byte 59 // DW_AT_decl_line332 .byte 11 // DW_FORM_data1333 .byte 73 // DW_AT_type334 .byte 19 // DW_FORM_ref4335 .byte 0 // EOM(1)336 .byte 0 // EOM(2)337 .byte 5 // Abbreviation Code338 .byte 15 // DW_TAG_pointer_type339 .byte 0 // DW_CHILDREN_no340 .byte 0 // EOM(1)341 .byte 0 // EOM(2)342 .byte 6 // Abbreviation Code343 .byte 1 // DW_TAG_array_type344 .byte 1 // DW_CHILDREN_yes345 .byte 73 // DW_AT_type346 .byte 19 // DW_FORM_ref4347 .byte 0 // EOM(1)348 .byte 0 // EOM(2)349 .byte 7 // Abbreviation Code350 .byte 33 // DW_TAG_subrange_type351 .byte 0 // DW_CHILDREN_no352 .byte 73 // DW_AT_type353 .byte 19 // DW_FORM_ref4354 .byte 55 // DW_AT_count355 .byte 11 // DW_FORM_data1356 .byte 0 // EOM(1)357 .byte 0 // EOM(2)358 .byte 8 // Abbreviation Code359 .byte 36 // DW_TAG_base_type360 .byte 0 // DW_CHILDREN_no361 .byte 3 // DW_AT_name362 .byte 14 // DW_FORM_strp363 .byte 62 // DW_AT_encoding364 .byte 11 // DW_FORM_data1365 .byte 11 // DW_AT_byte_size366 .byte 11 // DW_FORM_data1367 .byte 0 // EOM(1)368 .byte 0 // EOM(2)369 .byte 9 // Abbreviation Code370 .byte 36 // DW_TAG_base_type371 .byte 0 // DW_CHILDREN_no372 .byte 3 // DW_AT_name373 .byte 14 // DW_FORM_strp374 .byte 11 // DW_AT_byte_size375 .byte 11 // DW_FORM_data1376 .byte 62 // DW_AT_encoding377 .byte 11 // DW_FORM_data1378 .byte 0 // EOM(1)379 .byte 0 // EOM(2)380 .byte 10 // Abbreviation Code381 .byte 11 // DW_TAG_lexical_block382 .byte 1 // DW_CHILDREN_yes383 .byte 0 // EOM(1)384 .byte 0 // EOM(2)385 .byte 11 // Abbreviation Code386 .byte 46 // DW_TAG_subprogram387 .byte 1 // DW_CHILDREN_yes388 .byte 17 // DW_AT_low_pc389 .byte 1 // DW_FORM_addr390 .byte 18 // DW_AT_high_pc391 .byte 6 // DW_FORM_data4392 .byte 64 // DW_AT_frame_base393 .byte 24 // DW_FORM_exprloc394 .byte 3 // DW_AT_name395 .byte 14 // DW_FORM_strp396 .byte 58 // DW_AT_decl_file397 .byte 11 // DW_FORM_data1398 .byte 59 // DW_AT_decl_line399 .byte 11 // DW_FORM_data1400 .byte 63 // DW_AT_external401 .byte 25 // DW_FORM_flag_present402 .byte 0 // EOM(1)403 .byte 0 // EOM(2)404 .byte 12 // Abbreviation Code405 .byte 52 // DW_TAG_variable406 .byte 0 // DW_CHILDREN_no407 .byte 2 // DW_AT_location408 .byte 24 // DW_FORM_exprloc409 .ascii "\203|" // DW_AT_LLVM_tag_offset410 .byte 11 // DW_FORM_data1411 .byte 3 // DW_AT_name412 .byte 14 // DW_FORM_strp413 .byte 58 // DW_AT_decl_file414 .byte 11 // DW_FORM_data1415 .byte 59 // DW_AT_decl_line416 .byte 11 // DW_FORM_data1417 .byte 73 // DW_AT_type418 .byte 19 // DW_FORM_ref4419 .byte 0 // EOM(1)420 .byte 0 // EOM(2)421 .byte 13 // Abbreviation Code422 .byte 29 // DW_TAG_inlined_subroutine423 .byte 1 // DW_CHILDREN_yes424 .byte 49 // DW_AT_abstract_origin425 .byte 19 // DW_FORM_ref4426 .byte 85 // DW_AT_ranges427 .byte 23 // DW_FORM_sec_offset428 .byte 88 // DW_AT_call_file429 .byte 11 // DW_FORM_data1430 .byte 89 // DW_AT_call_line431 .byte 11 // DW_FORM_data1432 .byte 0 // EOM(1)433 .byte 0 // EOM(2)434 .byte 14 // Abbreviation Code435 .byte 5 // DW_TAG_formal_parameter436 .byte 0 // DW_CHILDREN_no437 .byte 2 // DW_AT_location438 .byte 23 // DW_FORM_sec_offset439 .byte 49 // DW_AT_abstract_origin440 .byte 19 // DW_FORM_ref4441 .byte 0 // EOM(1)442 .byte 0 // EOM(2)443 .byte 15 // Abbreviation Code444 .byte 11 // DW_TAG_lexical_block445 .byte 1 // DW_CHILDREN_yes446 .byte 85 // DW_AT_ranges447 .byte 23 // DW_FORM_sec_offset448 .byte 0 // EOM(1)449 .byte 0 // EOM(2)450 .byte 16 // Abbreviation Code451 .byte 52 // DW_TAG_variable452 .byte 0 // DW_CHILDREN_no453 .byte 2 // DW_AT_location454 .byte 24 // DW_FORM_exprloc455 .ascii "\203|" // DW_AT_LLVM_tag_offset456 .byte 11 // DW_FORM_data1457 .byte 49 // DW_AT_abstract_origin458 .byte 19 // DW_FORM_ref4459 .byte 0 // EOM(1)460 .byte 0 // EOM(2)461 .byte 17 // Abbreviation Code462 .byte 29 // DW_TAG_inlined_subroutine463 .byte 1 // DW_CHILDREN_yes464 .byte 49 // DW_AT_abstract_origin465 .byte 19 // DW_FORM_ref4466 .byte 17 // DW_AT_low_pc467 .byte 1 // DW_FORM_addr468 .byte 18 // DW_AT_high_pc469 .byte 6 // DW_FORM_data4470 .byte 88 // DW_AT_call_file471 .byte 11 // DW_FORM_data1472 .byte 89 // DW_AT_call_line473 .byte 11 // DW_FORM_data1474 .byte 0 // EOM(1)475 .byte 0 // EOM(2)476 .byte 0 // EOM(3)477 .section .debug_info,"",@progbits478.Lcu_begin0:479 .word .Ldebug_info_end0-.Ldebug_info_start0 // Length of Unit480.Ldebug_info_start0:481 .hword 4 // DWARF version number482 .word .debug_abbrev // Offset Into Abbrev. Section483 .byte 8 // Address Size (in bytes)484 .byte 1 // Abbrev [1] 0xb:0x146 DW_TAG_compile_unit485 .word .Linfo_string0 // DW_AT_producer486 .hword 12 // DW_AT_language487 .word .Linfo_string1 // DW_AT_name488 .word .Lline_table_start0 // DW_AT_stmt_list489 .word .Linfo_string2 // DW_AT_comp_dir490 .xword .Lfunc_begin0 // DW_AT_low_pc491 .word .Lfunc_end0-.Lfunc_begin0 // DW_AT_high_pc492 .byte 2 // Abbrev [2] 0x2a:0x2a DW_TAG_subprogram493 .word .Linfo_string3 // DW_AT_name494 .byte 1 // DW_AT_decl_file495 .byte 3 // DW_AT_decl_line496 // DW_AT_prototyped497 .byte 1 // DW_AT_inline498 .byte 3 // Abbrev [3] 0x32:0xb DW_TAG_formal_parameter499 .word .Linfo_string4 // DW_AT_name500 .byte 1 // DW_AT_decl_file501 .byte 3 // DW_AT_decl_line502 .word 84 // DW_AT_type503 .byte 3 // Abbrev [3] 0x3d:0xb DW_TAG_formal_parameter504 .word .Linfo_string5 // DW_AT_name505 .byte 1 // DW_AT_decl_file506 .byte 3 // DW_AT_decl_line507 .word 84 // DW_AT_type508 .byte 4 // Abbrev [4] 0x48:0xb DW_TAG_variable509 .word .Linfo_string6 // DW_AT_name510 .byte 1 // DW_AT_decl_file511 .byte 4 // DW_AT_decl_line512 .word 85 // DW_AT_type513 .byte 0 // End Of Children Mark514 .byte 5 // Abbrev [5] 0x54:0x1 DW_TAG_pointer_type515 .byte 6 // Abbrev [6] 0x55:0xc DW_TAG_array_type516 .word 97 // DW_AT_type517 .byte 7 // Abbrev [7] 0x5a:0x6 DW_TAG_subrange_type518 .word 104 // DW_AT_type519 .byte 32 // DW_AT_count520 .byte 0 // End Of Children Mark521 .byte 8 // Abbrev [8] 0x61:0x7 DW_TAG_base_type522 .word .Linfo_string7 // DW_AT_name523 .byte 8 // DW_AT_encoding524 .byte 1 // DW_AT_byte_size525 .byte 9 // Abbrev [9] 0x68:0x7 DW_TAG_base_type526 .word .Linfo_string8 // DW_AT_name527 .byte 8 // DW_AT_byte_size528 .byte 7 // DW_AT_encoding529 .byte 2 // Abbrev [2] 0x6f:0x2e DW_TAG_subprogram530 .word .Linfo_string9 // DW_AT_name531 .byte 1 // DW_AT_decl_file532 .byte 8 // DW_AT_decl_line533 // DW_AT_prototyped534 .byte 1 // DW_AT_inline535 .byte 3 // Abbrev [3] 0x77:0xb DW_TAG_formal_parameter536 .word .Linfo_string10 // DW_AT_name537 .byte 1 // DW_AT_decl_file538 .byte 8 // DW_AT_decl_line539 .word 84 // DW_AT_type540 .byte 10 // Abbrev [10] 0x82:0xd DW_TAG_lexical_block541 .byte 4 // Abbrev [4] 0x83:0xb DW_TAG_variable542 .word .Linfo_string11 // DW_AT_name543 .byte 1 // DW_AT_decl_file544 .byte 10 // DW_AT_decl_line545 .word 85 // DW_AT_type546 .byte 0 // End Of Children Mark547 .byte 10 // Abbrev [10] 0x8f:0xd DW_TAG_lexical_block548 .byte 4 // Abbrev [4] 0x90:0xb DW_TAG_variable549 .word .Linfo_string12 // DW_AT_name550 .byte 1 // DW_AT_decl_file551 .byte 14 // DW_AT_decl_line552 .word 85 // DW_AT_type553 .byte 0 // End Of Children Mark554 .byte 0 // End Of Children Mark555 .byte 11 // Abbrev [11] 0x9d:0xb3 DW_TAG_subprogram556 .xword .Lfunc_begin0 // DW_AT_low_pc557 .word .Lfunc_end0-.Lfunc_begin0 // DW_AT_high_pc558 .byte 1 // DW_AT_frame_base559 .byte 109560 .word .Linfo_string13 // DW_AT_name561 .byte 1 // DW_AT_decl_file562 .byte 19 // DW_AT_decl_line563 // DW_AT_external564 .byte 12 // Abbrev [12] 0xb2:0x10 DW_TAG_variable565 .byte 3 // DW_AT_location566 .byte 145567 .ascii "\300~"568 .byte 192 // DW_AT_LLVM_tag_offset569 .word .Linfo_string14 // DW_AT_name570 .byte 1 // DW_AT_decl_file571 .byte 20 // DW_AT_decl_line572 .word 85 // DW_AT_type573 .byte 13 // Abbrev [13] 0xc2:0x8d DW_TAG_inlined_subroutine574 .word 111 // DW_AT_abstract_origin575 .word .Ldebug_ranges0 // DW_AT_ranges576 .byte 1 // DW_AT_call_file577 .byte 21 // DW_AT_call_line578 .byte 14 // Abbrev [14] 0xcd:0x9 DW_TAG_formal_parameter579 .word .Ldebug_loc1 // DW_AT_location580 .word 119 // DW_AT_abstract_origin581 .byte 15 // Abbrev [15] 0xd6:0x38 DW_TAG_lexical_block582 .word .Ldebug_ranges2 // DW_AT_ranges583 .byte 16 // Abbrev [16] 0xdb:0xa DW_TAG_variable584 .byte 3 // DW_AT_location585 .byte 145586 .ascii "\200\177"587 .byte 128 // DW_AT_LLVM_tag_offset588 .word 131 // DW_AT_abstract_origin589 .byte 13 // Abbrev [13] 0xe5:0x28 DW_TAG_inlined_subroutine590 .word 42 // DW_AT_abstract_origin591 .word .Ldebug_ranges1 // DW_AT_ranges592 .byte 1 // DW_AT_call_file593 .byte 11 // DW_AT_call_line594 .byte 14 // Abbrev [14] 0xf0:0x9 DW_TAG_formal_parameter595 .word .Ldebug_loc0 // DW_AT_location596 .word 50 // DW_AT_abstract_origin597 .byte 14 // Abbrev [14] 0xf9:0x9 DW_TAG_formal_parameter598 .word .Ldebug_loc2 // DW_AT_location599 .word 61 // DW_AT_abstract_origin600 .byte 16 // Abbrev [16] 0x102:0xa DW_TAG_variable601 .byte 3 // DW_AT_location602 .byte 145603 .ascii "\240\177"604 .byte 0 // DW_AT_LLVM_tag_offset605 .word 72 // DW_AT_abstract_origin606 .byte 0 // End Of Children Mark607 .byte 0 // End Of Children Mark608 .byte 15 // Abbrev [15] 0x10e:0x40 DW_TAG_lexical_block609 .word .Ldebug_ranges3 // DW_AT_ranges610 .byte 16 // Abbrev [16] 0x113:0xa DW_TAG_variable611 .byte 3 // DW_AT_location612 .byte 145613 .ascii "\340~"614 .byte 64 // DW_AT_LLVM_tag_offset615 .word 144 // DW_AT_abstract_origin616 .byte 17 // Abbrev [17] 0x11d:0x30 DW_TAG_inlined_subroutine617 .word 42 // DW_AT_abstract_origin618 .xword .Ltmp10 // DW_AT_low_pc619 .word .Ltmp11-.Ltmp10 // DW_AT_high_pc620 .byte 1 // DW_AT_call_file621 .byte 15 // DW_AT_call_line622 .byte 14 // Abbrev [14] 0x130:0x9 DW_TAG_formal_parameter623 .word .Ldebug_loc4 // DW_AT_location624 .word 50 // DW_AT_abstract_origin625 .byte 14 // Abbrev [14] 0x139:0x9 DW_TAG_formal_parameter626 .word .Ldebug_loc3 // DW_AT_location627 .word 61 // DW_AT_abstract_origin628 .byte 16 // Abbrev [16] 0x142:0xa DW_TAG_variable629 .byte 3 // DW_AT_location630 .byte 145631 .ascii "\240\177"632 .byte 0 // DW_AT_LLVM_tag_offset633 .word 72 // DW_AT_abstract_origin634 .byte 0 // End Of Children Mark635 .byte 0 // End Of Children Mark636 .byte 0 // End Of Children Mark637 .byte 0 // End Of Children Mark638 .byte 0 // End Of Children Mark639.Ldebug_info_end0:640 .section .debug_ranges,"",@progbits641.Ldebug_ranges0:642 .xword .Ltmp1-.Lfunc_begin0643 .xword .Ltmp4-.Lfunc_begin0644 .xword .Ltmp5-.Lfunc_begin0645 .xword .Ltmp6-.Lfunc_begin0646 .xword .Ltmp7-.Lfunc_begin0647 .xword .Ltmp8-.Lfunc_begin0648 .xword .Ltmp9-.Lfunc_begin0649 .xword .Ltmp11-.Lfunc_begin0650 .xword 0651 .xword 0652.Ldebug_ranges1:653 .xword .Ltmp1-.Lfunc_begin0654 .xword .Ltmp2-.Lfunc_begin0655 .xword .Ltmp5-.Lfunc_begin0656 .xword .Ltmp6-.Lfunc_begin0657 .xword .Ltmp7-.Lfunc_begin0658 .xword .Ltmp8-.Lfunc_begin0659 .xword .Ltmp9-.Lfunc_begin0660 .xword .Ltmp10-.Lfunc_begin0661 .xword 0662 .xword 0663.Ldebug_ranges2:664 .xword .Ltmp1-.Lfunc_begin0665 .xword .Ltmp3-.Lfunc_begin0666 .xword .Ltmp5-.Lfunc_begin0667 .xword .Ltmp6-.Lfunc_begin0668 .xword .Ltmp7-.Lfunc_begin0669 .xword .Ltmp8-.Lfunc_begin0670 .xword .Ltmp9-.Lfunc_begin0671 .xword .Ltmp10-.Lfunc_begin0672 .xword 0673 .xword 0674.Ldebug_ranges3:675 .xword .Ltmp3-.Lfunc_begin0676 .xword .Ltmp4-.Lfunc_begin0677 .xword .Ltmp10-.Lfunc_begin0678 .xword .Ltmp11-.Lfunc_begin0679 .xword 0680 .xword 0681 .section .debug_macinfo,"",@progbits682 .byte 0 // End Of Macro List Mark683 684 .ident "clang version 9.0.0 "685 .section ".note.GNU-stack","",@progbits686 .section .debug_line,"",@progbits687.Lline_table_start0:688