611 lines · plain
1# Regression test for:2# - DW_AT_ranges not being read properly3 4# clang test.cpp --target=i686-pc-linux -g -O25# 01 6# 02 float foo(float a) {7# 03 return a+a;8# 04 }9# 05 10# 06 int main(int argc, char **argv) {11# 07 float my_var = argc;12# 08 for (int i = 0; i < 4; i++) {13# 09 float my_local_var = (float)argv[i][0];14# 10 my_var += foo(my_local_var);15# 11 }16# 12 return (int)my_var;17# 13 }18 19# REQUIRES: x86-registered-target 20 21# RUN: llvm-mc %s -triple=i686-pc-linux -filetype=obj -o - | \22# RUN: llvm-debuginfo-analyzer --attribute=all \23# RUN: --print=all \24# RUN: --output-sort=offset \25# RUN: - | \26# RUN: FileCheck %s27 28# Make sure these two ranges are present and point to the correct offsets29# CHECK: [006] {Range} Lines 3:10 [0x0000000055:0x0000000058]30# CHECK: [006] {Range} Lines 3:10 [0x0000000088:0x000000008b]31 32 .file "test.cpp"33 .file 0 "F:\\llvm-project" "test.cpp"34 .text35 .globl _Z3foof # -- Begin function _Z3foof36 .p2align 437 .type _Z3foof,@function38_Z3foof: # @_Z3foof39.Lfunc_begin0:40 .loc 0 2 041 .cfi_startproc42# %bb.0: # %entry43 pushl %eax44 .cfi_def_cfa_offset 845.Ltmp0:46 #DEBUG_VALUE: foo:a <- [DW_OP_plus_uconst 8] [$esp+0]47 movss 8(%esp), %xmm0 # xmm0 = mem[0],zero,zero,zero48.Ltmp1:49 .loc 0 3 11 prologue_end50 addss %xmm0, %xmm051 .loc 0 3 3 is_stmt 052 movss %xmm0, (%esp)53 flds (%esp)54 .loc 0 3 3 epilogue_begin55 popl %eax56 .cfi_def_cfa_offset 457 retl58.Ltmp2:59.Lfunc_end0:60 .size _Z3foof, .Lfunc_end0-_Z3foof61 .cfi_endproc62 # -- End function63 .globl main # -- Begin function main64 .p2align 465 .type main,@function66main: # @main67.Lfunc_begin1:68 .loc 0 6 0 is_stmt 169 .cfi_startproc70# %bb.0: # %entry71 #DEBUG_VALUE: main:argc <- [DW_OP_plus_uconst 4] [$esp+0]72 #DEBUG_VALUE: main:argv <- [DW_OP_plus_uconst 8] [$esp+0]73 movl 8(%esp), %eax74.Ltmp3:75 .loc 0 7 18 prologue_end76 cvtsi2ssl 4(%esp), %xmm277.Ltmp4:78 #DEBUG_VALUE: main:my_var <- $xmm279 #DEBUG_VALUE: i <- 080 .loc 0 9 3381 movl (%eax), %ecx82.Ltmp5:83 #DEBUG_VALUE: i <- 184 movl 4(%eax), %edx85 movzbl (%ecx), %ecx86 shll $8, %ecx87 pxor %xmm0, %xmm088 pxor %xmm1, %xmm189 pinsrw $1, %ecx, %xmm190 movzbl (%edx), %ecx91 shll $8, %ecx92 pinsrw $3, %ecx, %xmm193 psrad $24, %xmm194 cvtdq2ps %xmm1, %xmm195.Ltmp6:96 .loc 0 3 1197 addps %xmm1, %xmm198.Ltmp7:99 .loc 0 10 12100 addss %xmm1, %xmm2101.Ltmp8:102 #DEBUG_VALUE: main:my_var <- $xmm2103 shufps $85, %xmm1, %xmm1 # xmm1 = xmm1[1,1,1,1]104 addss %xmm2, %xmm1105.Ltmp9:106 #DEBUG_VALUE: main:my_var <- $xmm1107 #DEBUG_VALUE: i <- 2108 .loc 0 9 33109 movl 8(%eax), %ecx110.Ltmp10:111 #DEBUG_VALUE: i <- 3112 movl 12(%eax), %eax113 movzbl (%ecx), %ecx114 shll $8, %ecx115 pinsrw $1, %ecx, %xmm0116 movzbl (%eax), %eax117 shll $8, %eax118 pinsrw $3, %eax, %xmm0119 psrad $24, %xmm0120 cvtdq2ps %xmm0, %xmm0121.Ltmp11:122 .loc 0 3 11123 addps %xmm0, %xmm0124.Ltmp12:125 .loc 0 10 12126 addss %xmm0, %xmm1127.Ltmp13:128 #DEBUG_VALUE: main:my_var <- $xmm1129 shufps $85, %xmm0, %xmm0 # xmm0 = xmm0[1,1,1,1]130 addss %xmm1, %xmm0131.Ltmp14:132 #DEBUG_VALUE: main:my_var <- $xmm0133 #DEBUG_VALUE: i <- 4134 .loc 0 12 15135 cvttss2si %xmm0, %eax136 .loc 0 12 3 is_stmt 0137 retl138.Ltmp15:139.Lfunc_end1:140 .size main, .Lfunc_end1-main141 .cfi_endproc142 # -- End function143 .section .debug_loclists,"",@progbits144 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length145.Ldebug_list_header_start0:146 .short 5 # Version147 .byte 4 # Address size148 .byte 0 # Segment selector size149 .long 2 # Offset entry count150.Lloclists_table_base0:151 .long .Ldebug_loc0-.Lloclists_table_base0152 .long .Ldebug_loc1-.Lloclists_table_base0153.Ldebug_loc0:154 .byte 4 # DW_LLE_offset_pair155 .uleb128 .Ltmp4-.Lfunc_begin0 # starting offset156 .uleb128 .Ltmp9-.Lfunc_begin0 # ending offset157 .byte 1 # Loc expr size158 .byte 103 # DW_OP_reg23159 .byte 4 # DW_LLE_offset_pair160 .uleb128 .Ltmp9-.Lfunc_begin0 # starting offset161 .uleb128 .Ltmp14-.Lfunc_begin0 # ending offset162 .byte 1 # Loc expr size163 .byte 102 # DW_OP_reg22164 .byte 4 # DW_LLE_offset_pair165 .uleb128 .Ltmp14-.Lfunc_begin0 # starting offset166 .uleb128 .Lfunc_end1-.Lfunc_begin0 # ending offset167 .byte 1 # Loc expr size168 .byte 101 # DW_OP_reg21169 .byte 0 # DW_LLE_end_of_list170.Ldebug_loc1:171 .byte 4 # DW_LLE_offset_pair172 .uleb128 .Ltmp4-.Lfunc_begin0 # starting offset173 .uleb128 .Ltmp5-.Lfunc_begin0 # ending offset174 .byte 3 # Loc expr size175 .byte 17 # DW_OP_consts176 .byte 0 # 0177 .byte 159 # DW_OP_stack_value178 .byte 4 # DW_LLE_offset_pair179 .uleb128 .Ltmp5-.Lfunc_begin0 # starting offset180 .uleb128 .Ltmp9-.Lfunc_begin0 # ending offset181 .byte 3 # Loc expr size182 .byte 17 # DW_OP_consts183 .byte 1 # 1184 .byte 159 # DW_OP_stack_value185 .byte 4 # DW_LLE_offset_pair186 .uleb128 .Ltmp9-.Lfunc_begin0 # starting offset187 .uleb128 .Ltmp10-.Lfunc_begin0 # ending offset188 .byte 3 # Loc expr size189 .byte 17 # DW_OP_consts190 .byte 2 # 2191 .byte 159 # DW_OP_stack_value192 .byte 4 # DW_LLE_offset_pair193 .uleb128 .Ltmp10-.Lfunc_begin0 # starting offset194 .uleb128 .Ltmp14-.Lfunc_begin0 # ending offset195 .byte 3 # Loc expr size196 .byte 17 # DW_OP_consts197 .byte 3 # 3198 .byte 159 # DW_OP_stack_value199 .byte 4 # DW_LLE_offset_pair200 .uleb128 .Ltmp14-.Lfunc_begin0 # starting offset201 .uleb128 .Lfunc_end1-.Lfunc_begin0 # ending offset202 .byte 3 # Loc expr size203 .byte 17 # DW_OP_consts204 .byte 4 # 4205 .byte 159 # DW_OP_stack_value206 .byte 0 # DW_LLE_end_of_list207.Ldebug_list_header_end0:208 .section .debug_abbrev,"",@progbits209 .byte 1 # Abbreviation Code210 .byte 17 # DW_TAG_compile_unit211 .byte 1 # DW_CHILDREN_yes212 .byte 37 # DW_AT_producer213 .byte 37 # DW_FORM_strx1214 .byte 19 # DW_AT_language215 .byte 5 # DW_FORM_data2216 .byte 3 # DW_AT_name217 .byte 37 # DW_FORM_strx1218 .byte 114 # DW_AT_str_offsets_base219 .byte 23 # DW_FORM_sec_offset220 .byte 16 # DW_AT_stmt_list221 .byte 23 # DW_FORM_sec_offset222 .byte 27 # DW_AT_comp_dir223 .byte 37 # DW_FORM_strx1224 .byte 17 # DW_AT_low_pc225 .byte 27 # DW_FORM_addrx226 .byte 18 # DW_AT_high_pc227 .byte 6 # DW_FORM_data4228 .byte 115 # DW_AT_addr_base229 .byte 23 # DW_FORM_sec_offset230 .byte 116 # DW_AT_rnglists_base231 .byte 23 # DW_FORM_sec_offset232 .ascii "\214\001" # DW_AT_loclists_base233 .byte 23 # DW_FORM_sec_offset234 .byte 0 # EOM(1)235 .byte 0 # EOM(2)236 .byte 2 # Abbreviation Code237 .byte 36 # DW_TAG_base_type238 .byte 0 # DW_CHILDREN_no239 .byte 3 # DW_AT_name240 .byte 37 # DW_FORM_strx1241 .byte 62 # DW_AT_encoding242 .byte 11 # DW_FORM_data1243 .byte 11 # DW_AT_byte_size244 .byte 11 # DW_FORM_data1245 .byte 0 # EOM(1)246 .byte 0 # EOM(2)247 .byte 3 # Abbreviation Code248 .byte 46 # DW_TAG_subprogram249 .byte 1 # DW_CHILDREN_yes250 .byte 17 # DW_AT_low_pc251 .byte 27 # DW_FORM_addrx252 .byte 18 # DW_AT_high_pc253 .byte 6 # DW_FORM_data4254 .byte 64 # DW_AT_frame_base255 .byte 24 # DW_FORM_exprloc256 .byte 122 # DW_AT_call_all_calls257 .byte 25 # DW_FORM_flag_present258 .byte 49 # DW_AT_abstract_origin259 .byte 19 # DW_FORM_ref4260 .byte 0 # EOM(1)261 .byte 0 # EOM(2)262 .byte 4 # Abbreviation Code263 .byte 5 # DW_TAG_formal_parameter264 .byte 0 # DW_CHILDREN_no265 .byte 2 # DW_AT_location266 .byte 24 # DW_FORM_exprloc267 .byte 49 # DW_AT_abstract_origin268 .byte 19 # DW_FORM_ref4269 .byte 0 # EOM(1)270 .byte 0 # EOM(2)271 .byte 5 # Abbreviation Code272 .byte 46 # DW_TAG_subprogram273 .byte 1 # DW_CHILDREN_yes274 .byte 110 # DW_AT_linkage_name275 .byte 37 # DW_FORM_strx1276 .byte 3 # DW_AT_name277 .byte 37 # DW_FORM_strx1278 .byte 58 # DW_AT_decl_file279 .byte 11 # DW_FORM_data1280 .byte 59 # DW_AT_decl_line281 .byte 11 # DW_FORM_data1282 .byte 73 # DW_AT_type283 .byte 19 # DW_FORM_ref4284 .byte 63 # DW_AT_external285 .byte 25 # DW_FORM_flag_present286 .byte 32 # DW_AT_inline287 .byte 33 # DW_FORM_implicit_const288 .byte 1289 .byte 0 # EOM(1)290 .byte 0 # EOM(2)291 .byte 6 # Abbreviation Code292 .byte 5 # DW_TAG_formal_parameter293 .byte 0 # DW_CHILDREN_no294 .byte 3 # DW_AT_name295 .byte 37 # DW_FORM_strx1296 .byte 58 # DW_AT_decl_file297 .byte 11 # DW_FORM_data1298 .byte 59 # DW_AT_decl_line299 .byte 11 # DW_FORM_data1300 .byte 73 # DW_AT_type301 .byte 19 # DW_FORM_ref4302 .byte 0 # EOM(1)303 .byte 0 # EOM(2)304 .byte 7 # Abbreviation Code305 .byte 46 # DW_TAG_subprogram306 .byte 1 # DW_CHILDREN_yes307 .byte 17 # DW_AT_low_pc308 .byte 27 # DW_FORM_addrx309 .byte 18 # DW_AT_high_pc310 .byte 6 # DW_FORM_data4311 .byte 64 # DW_AT_frame_base312 .byte 24 # DW_FORM_exprloc313 .byte 122 # DW_AT_call_all_calls314 .byte 25 # DW_FORM_flag_present315 .byte 3 # DW_AT_name316 .byte 37 # DW_FORM_strx1317 .byte 58 # DW_AT_decl_file318 .byte 11 # DW_FORM_data1319 .byte 59 # DW_AT_decl_line320 .byte 11 # DW_FORM_data1321 .byte 73 # DW_AT_type322 .byte 19 # DW_FORM_ref4323 .byte 63 # DW_AT_external324 .byte 25 # DW_FORM_flag_present325 .byte 0 # EOM(1)326 .byte 0 # EOM(2)327 .byte 8 # Abbreviation Code328 .byte 5 # DW_TAG_formal_parameter329 .byte 0 # DW_CHILDREN_no330 .byte 2 # DW_AT_location331 .byte 24 # DW_FORM_exprloc332 .byte 3 # DW_AT_name333 .byte 37 # DW_FORM_strx1334 .byte 58 # DW_AT_decl_file335 .byte 11 # DW_FORM_data1336 .byte 59 # DW_AT_decl_line337 .byte 11 # DW_FORM_data1338 .byte 73 # DW_AT_type339 .byte 19 # DW_FORM_ref4340 .byte 0 # EOM(1)341 .byte 0 # EOM(2)342 .byte 9 # Abbreviation Code343 .byte 52 # DW_TAG_variable344 .byte 0 # DW_CHILDREN_no345 .byte 2 # DW_AT_location346 .byte 34 # DW_FORM_loclistx347 .byte 3 # DW_AT_name348 .byte 37 # DW_FORM_strx1349 .byte 58 # DW_AT_decl_file350 .byte 11 # DW_FORM_data1351 .byte 59 # DW_AT_decl_line352 .byte 11 # DW_FORM_data1353 .byte 73 # DW_AT_type354 .byte 19 # DW_FORM_ref4355 .byte 0 # EOM(1)356 .byte 0 # EOM(2)357 .byte 10 # Abbreviation Code358 .byte 11 # DW_TAG_lexical_block359 .byte 1 # DW_CHILDREN_yes360 .byte 17 # DW_AT_low_pc361 .byte 27 # DW_FORM_addrx362 .byte 18 # DW_AT_high_pc363 .byte 6 # DW_FORM_data4364 .byte 0 # EOM(1)365 .byte 0 # EOM(2)366 .byte 11 # Abbreviation Code367 .byte 52 # DW_TAG_variable368 .byte 0 # DW_CHILDREN_no369 .byte 3 # DW_AT_name370 .byte 37 # DW_FORM_strx1371 .byte 58 # DW_AT_decl_file372 .byte 11 # DW_FORM_data1373 .byte 59 # DW_AT_decl_line374 .byte 11 # DW_FORM_data1375 .byte 73 # DW_AT_type376 .byte 19 # DW_FORM_ref4377 .byte 0 # EOM(1)378 .byte 0 # EOM(2)379 .byte 12 # Abbreviation Code380 .byte 29 # DW_TAG_inlined_subroutine381 .byte 0 # DW_CHILDREN_no382 .byte 49 # DW_AT_abstract_origin383 .byte 19 # DW_FORM_ref4384 .byte 85 # DW_AT_ranges385 .byte 35 # DW_FORM_rnglistx386 .byte 88 # DW_AT_call_file387 .byte 11 # DW_FORM_data1388 .byte 89 # DW_AT_call_line389 .byte 11 # DW_FORM_data1390 .byte 87 # DW_AT_call_column391 .byte 11 # DW_FORM_data1392 .byte 0 # EOM(1)393 .byte 0 # EOM(2)394 .byte 13 # Abbreviation Code395 .byte 15 # DW_TAG_pointer_type396 .byte 0 # DW_CHILDREN_no397 .byte 73 # DW_AT_type398 .byte 19 # DW_FORM_ref4399 .byte 0 # EOM(1)400 .byte 0 # EOM(2)401 .byte 0 # EOM(3)402 .section .debug_info,"",@progbits403.Lcu_begin0:404 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit405.Ldebug_info_start0:406 .short 5 # DWARF version number407 .byte 1 # DWARF Unit Type408 .byte 4 # Address Size (in bytes)409 .long .debug_abbrev # Offset Into Abbrev. Section410 .byte 1 # Abbrev [1] 0xc:0xb4 DW_TAG_compile_unit411 .byte 0 # DW_AT_producer412 .short 33 # DW_AT_language413 .byte 1 # DW_AT_name414 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base415 .long .Lline_table_start0 # DW_AT_stmt_list416 .byte 2 # DW_AT_comp_dir417 .byte 0 # DW_AT_low_pc418 .long .Lfunc_end1-.Lfunc_begin0 # DW_AT_high_pc419 .long .Laddr_table_base0 # DW_AT_addr_base420 .long .Lrnglists_table_base0 # DW_AT_rnglists_base421 .long .Lloclists_table_base0 # DW_AT_loclists_base422 .byte 2 # Abbrev [2] 0x2b:0x4 DW_TAG_base_type423 .byte 3 # DW_AT_name424 .byte 4 # DW_AT_encoding425 .byte 4 # DW_AT_byte_size426 .byte 2 # Abbrev [2] 0x2f:0x4 DW_TAG_base_type427 .byte 4 # DW_AT_name428 .byte 5 # DW_AT_encoding429 .byte 4 # DW_AT_byte_size430 .byte 3 # Abbrev [3] 0x33:0x15 DW_TAG_subprogram431 .byte 0 # DW_AT_low_pc432 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc433 .byte 1 # DW_AT_frame_base434 .byte 84435 # DW_AT_call_all_calls436 .long 72 # DW_AT_abstract_origin437 .byte 4 # Abbrev [4] 0x3f:0x8 DW_TAG_formal_parameter438 .byte 2 # DW_AT_location439 .byte 145440 .byte 8441 .long 81 # DW_AT_abstract_origin442 .byte 0 # End Of Children Mark443 .byte 5 # Abbrev [5] 0x48:0x12 DW_TAG_subprogram444 .byte 5 # DW_AT_linkage_name445 .byte 6 # DW_AT_name446 .byte 0 # DW_AT_decl_file447 .byte 2 # DW_AT_decl_line448 .long 43 # DW_AT_type449 # DW_AT_external450 # DW_AT_inline451 .byte 6 # Abbrev [6] 0x51:0x8 DW_TAG_formal_parameter452 .byte 7 # DW_AT_name453 .byte 0 # DW_AT_decl_file454 .byte 2 # DW_AT_decl_line455 .long 43 # DW_AT_type456 .byte 0 # End Of Children Mark457 .byte 7 # Abbrev [7] 0x5a:0x57 DW_TAG_subprogram458 .byte 1 # DW_AT_low_pc459 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc460 .byte 1 # DW_AT_frame_base461 .byte 84462 # DW_AT_call_all_calls463 .byte 8 # DW_AT_name464 .byte 0 # DW_AT_decl_file465 .byte 6 # DW_AT_decl_line466 .long 47 # DW_AT_type467 # DW_AT_external468 .byte 8 # Abbrev [8] 0x69:0xb DW_TAG_formal_parameter469 .byte 2 # DW_AT_location470 .byte 145471 .byte 4472 .byte 9 # DW_AT_name473 .byte 0 # DW_AT_decl_file474 .byte 6 # DW_AT_decl_line475 .long 47 # DW_AT_type476 .byte 8 # Abbrev [8] 0x74:0xb DW_TAG_formal_parameter477 .byte 2 # DW_AT_location478 .byte 145479 .byte 8480 .byte 10 # DW_AT_name481 .byte 0 # DW_AT_decl_file482 .byte 6 # DW_AT_decl_line483 .long 177 # DW_AT_type484 .byte 9 # Abbrev [9] 0x7f:0x9 DW_TAG_variable485 .byte 0 # DW_AT_location486 .byte 12 # DW_AT_name487 .byte 0 # DW_AT_decl_file488 .byte 7 # DW_AT_decl_line489 .long 43 # DW_AT_type490 .byte 10 # Abbrev [10] 0x88:0x28 DW_TAG_lexical_block491 .byte 2 # DW_AT_low_pc492 .long .Ltmp14-.Ltmp4 # DW_AT_high_pc493 .byte 9 # Abbrev [9] 0x8e:0x9 DW_TAG_variable494 .byte 1 # DW_AT_location495 .byte 13 # DW_AT_name496 .byte 0 # DW_AT_decl_file497 .byte 8 # DW_AT_decl_line498 .long 47 # DW_AT_type499 .byte 10 # Abbrev [10] 0x97:0x18 DW_TAG_lexical_block500 .byte 2 # DW_AT_low_pc501 .long .Ltmp14-.Ltmp4 # DW_AT_high_pc502 .byte 11 # Abbrev [11] 0x9d:0x8 DW_TAG_variable503 .byte 14 # DW_AT_name504 .byte 0 # DW_AT_decl_file505 .byte 9 # DW_AT_decl_line506 .long 43 # DW_AT_type507 .byte 12 # Abbrev [12] 0xa5:0x9 DW_TAG_inlined_subroutine508 .long 72 # DW_AT_abstract_origin509 .byte 0 # DW_AT_ranges510 .byte 0 # DW_AT_call_file511 .byte 10 # DW_AT_call_line512 .byte 15 # DW_AT_call_column513 .byte 0 # End Of Children Mark514 .byte 0 # End Of Children Mark515 .byte 0 # End Of Children Mark516 .byte 13 # Abbrev [13] 0xb1:0x5 DW_TAG_pointer_type517 .long 182 # DW_AT_type518 .byte 13 # Abbrev [13] 0xb6:0x5 DW_TAG_pointer_type519 .long 187 # DW_AT_type520 .byte 2 # Abbrev [2] 0xbb:0x4 DW_TAG_base_type521 .byte 11 # DW_AT_name522 .byte 6 # DW_AT_encoding523 .byte 1 # DW_AT_byte_size524 .byte 0 # End Of Children Mark525.Ldebug_info_end0:526 .section .debug_rnglists,"",@progbits527 .long .Ldebug_list_header_end1-.Ldebug_list_header_start1 # Length528.Ldebug_list_header_start1:529 .short 5 # Version530 .byte 4 # Address size531 .byte 0 # Segment selector size532 .long 1 # Offset entry count533.Lrnglists_table_base0:534 .long .Ldebug_ranges0-.Lrnglists_table_base0535.Ldebug_ranges0:536 .byte 4 # DW_RLE_offset_pair537 .uleb128 .Ltmp6-.Lfunc_begin0 # starting offset538 .uleb128 .Ltmp7-.Lfunc_begin0 # ending offset539 .byte 4 # DW_RLE_offset_pair540 .uleb128 .Ltmp11-.Lfunc_begin0 # starting offset541 .uleb128 .Ltmp12-.Lfunc_begin0 # ending offset542 .byte 0 # DW_RLE_end_of_list543.Ldebug_list_header_end1:544 .section .debug_str_offsets,"",@progbits545 .long 64 # Length of String Offsets Set546 .short 5547 .short 0548.Lstr_offsets_base0:549 .section .debug_str,"MS",@progbits,1550.Linfo_string0:551 .asciz "clang version 22.0.0" # string offset=0552.Linfo_string1:553 .asciz "test.cpp" # string offset=113554.Linfo_string2:555 .asciz "F:\\llvm-project" # string offset=143556.Linfo_string3:557 .asciz "float" # string offset=159558.Linfo_string4:559 .asciz "int" # string offset=165560.Linfo_string5:561 .asciz "_Z3foof" # string offset=169562.Linfo_string6:563 .asciz "foo" # string offset=177564.Linfo_string7:565 .asciz "a" # string offset=181566.Linfo_string8:567 .asciz "main" # string offset=183568.Linfo_string9:569 .asciz "argc" # string offset=188570.Linfo_string10:571 .asciz "argv" # string offset=193572.Linfo_string11:573 .asciz "char" # string offset=198574.Linfo_string12:575 .asciz "my_var" # string offset=203576.Linfo_string13:577 .asciz "i" # string offset=210578.Linfo_string14:579 .asciz "my_local_var" # string offset=212580 .section .debug_str_offsets,"",@progbits581 .long .Linfo_string0582 .long .Linfo_string1583 .long .Linfo_string2584 .long .Linfo_string3585 .long .Linfo_string4586 .long .Linfo_string5587 .long .Linfo_string6588 .long .Linfo_string7589 .long .Linfo_string8590 .long .Linfo_string9591 .long .Linfo_string10592 .long .Linfo_string11593 .long .Linfo_string12594 .long .Linfo_string13595 .long .Linfo_string14596 .section .debug_addr,"",@progbits597 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution598.Ldebug_addr_start0:599 .short 5 # DWARF version number600 .byte 4 # Address size601 .byte 0 # Segment selector size602.Laddr_table_base0:603 .long .Lfunc_begin0604 .long .Lfunc_begin1605 .long .Ltmp4606.Ldebug_addr_end0:607 .ident "clang version 22.0.0"608 .section ".note.GNU-stack","",@progbits609 .section .debug_line,"",@progbits610.Lline_table_start0:611