790 lines · plain
1# REQUIRES: x862## Test name indexes that contain multiple CU offsets due to LTO.3 4# RUN: rm -rf %t && split-file %s %t && cd %t5# RUN: llvm-mc -filetype=obj -triple=x86_64 %S/Inputs/debug-names-a.s -o a.o6# RUN: llvm-mc -filetype=obj -triple=x86_64 bcd.s -o bcd.o7# RUN: llvm-mc -filetype=obj -triple=x86_64 ef.s -o ef.o8# RUN: ld.lld --debug-names a.o bcd.o ef.o -o out9# RUN: llvm-dwarfdump --debug-info --debug-names out | FileCheck %s --check-prefix=DWARF10 11## Place the multiple CU offsets in the second name index in an input file.12# RUN: ld.lld -r a.o bcd.o -o abcd.o13# RUN: ld.lld --debug-names abcd.o ef.o -o out14# RUN: llvm-dwarfdump --debug-info --debug-names out | FileCheck %s --check-prefix=DWARF15 16# DWARF: [[CU0:0x[^:]+]]: Compile Unit17# DWARF: [[CU1:0x[^:]+]]: Compile Unit18# DWARF: [[CU2:0x[^:]+]]: Compile Unit19# DWARF: [[CU3:0x[^:]+]]: Compile Unit20# DWARF: [[CU4:0x[^:]+]]: Compile Unit21# DWARF: [[CU5:0x[^:]+]]: Compile Unit22# DWARF: Compilation Unit offsets [23# DWARF-NEXT: CU[0]: [[CU0]]24# DWARF-NEXT: CU[1]: [[CU1]]25# DWARF-NEXT: CU[2]: [[CU2]]26# DWARF-NEXT: CU[3]: [[CU3]]27# DWARF-NEXT: CU[4]: [[CU4]]28# DWARF-NEXT: CU[5]: [[CU5]]29# DWARF-NEXT: ]30# DWARF: String: {{.*}} "vc"31# DWARF: DW_IDX_compile_unit: 0x0232# DWARF: String: {{.*}} "vd"33# DWARF: DW_IDX_die_offset:34# DWARF-SAME: 0x0000002035# DWARF: DW_IDX_compile_unit:36# DWARF-SAME: 0x0337# DWARF: String: {{.*}} "ve"38# DWARF: DW_IDX_die_offset:39# DWARF-SAME: 0x0000001e40# DWARF: DW_IDX_compile_unit:41# DWARF-SAME: 0x0442# DWARF: String: {{.*}} "vf"43# DWARF: DW_IDX_compile_unit:44# DWARF-SAME: 0x0545# DWARF: String: {{.*}} "vb"46# DWARF: DW_IDX_compile_unit:47# DWARF-SAME: 0x0148 49.ifdef GEN50#--- b.cc51[[gnu::used]] int vb;52#--- c.cc53[[gnu::used]] int vc;54#--- d.cc55namespace ns {56[[gnu::used]] int vd;57}58 59//--- e.cc60[[gnu::used]] int ve;61//--- f.cc62namespace ns {63[[gnu::used]] int vf;64}65 66#--- gen67clang --target=x86_64-linux -O1 -g -gpubnames -flto b.cc c.cc d.cc -nostdlib -fuse-ld=lld -Wl,--lto-emit-asm68echo '#--- bcd.s'69cat a.out.lto.s70clang --target=x86_64-linux -O1 -g -gpubnames -flto e.cc f.cc -nostdlib -fuse-ld=lld -Wl,--lto-emit-asm71echo '#--- ef.s'72cat a.out.lto.s73.endif74#--- bcd.s75 .text76 .file "ld-temp.o"77 .file 1 "/proc/self/cwd" "b.cc" md5 0x78dad32a49063326a4de543198e5494478 .file 2 "/proc/self/cwd" "c.cc" md5 0x7a0f7bf2cb0ec8c297f794908d91ab1b79 .file 3 "/proc/self/cwd" "d.cc" md5 0xf7e2af89615ce48bf9a98fdae55ab5ad80 .type vb,@object # @vb81 .section .bss.vb,"aw",@nobits82 .globl vb83 .p2align 2, 0x084vb:85 .long 0 # 0x086 .size vb, 487 88 .type vc,@object # @vc89 .section .bss.vc,"aw",@nobits90 .globl vc91 .p2align 2, 0x092vc:93 .long 0 # 0x094 .size vc, 495 96 .type _ZN2ns2vdE,@object # @_ZN2ns2vdE97 .section .bss._ZN2ns2vdE,"aw",@nobits98 .globl _ZN2ns2vdE99 .p2align 2, 0x0100_ZN2ns2vdE:101 .long 0 # 0x0102 .size _ZN2ns2vdE, 4103 104 .section .debug_abbrev,"",@progbits105 .byte 1 # Abbreviation Code106 .byte 17 # DW_TAG_compile_unit107 .byte 1 # DW_CHILDREN_yes108 .byte 37 # DW_AT_producer109 .byte 37 # DW_FORM_strx1110 .byte 19 # DW_AT_language111 .byte 5 # DW_FORM_data2112 .byte 3 # DW_AT_name113 .byte 37 # DW_FORM_strx1114 .byte 114 # DW_AT_str_offsets_base115 .byte 23 # DW_FORM_sec_offset116 .byte 16 # DW_AT_stmt_list117 .byte 23 # DW_FORM_sec_offset118 .byte 27 # DW_AT_comp_dir119 .byte 37 # DW_FORM_strx1120 .byte 115 # DW_AT_addr_base121 .byte 23 # DW_FORM_sec_offset122 .byte 0 # EOM(1)123 .byte 0 # EOM(2)124 .byte 2 # Abbreviation Code125 .byte 52 # DW_TAG_variable126 .byte 0 # DW_CHILDREN_no127 .byte 3 # DW_AT_name128 .byte 37 # DW_FORM_strx1129 .byte 73 # DW_AT_type130 .byte 19 # DW_FORM_ref4131 .byte 63 # DW_AT_external132 .byte 25 # DW_FORM_flag_present133 .byte 58 # DW_AT_decl_file134 .byte 11 # DW_FORM_data1135 .byte 59 # DW_AT_decl_line136 .byte 11 # DW_FORM_data1137 .byte 2 # DW_AT_location138 .byte 24 # DW_FORM_exprloc139 .byte 0 # EOM(1)140 .byte 0 # EOM(2)141 .byte 3 # Abbreviation Code142 .byte 36 # DW_TAG_base_type143 .byte 0 # DW_CHILDREN_no144 .byte 3 # DW_AT_name145 .byte 37 # DW_FORM_strx1146 .byte 62 # DW_AT_encoding147 .byte 11 # DW_FORM_data1148 .byte 11 # DW_AT_byte_size149 .byte 11 # DW_FORM_data1150 .byte 0 # EOM(1)151 .byte 0 # EOM(2)152 .byte 4 # Abbreviation Code153 .byte 52 # DW_TAG_variable154 .byte 0 # DW_CHILDREN_no155 .byte 3 # DW_AT_name156 .byte 37 # DW_FORM_strx1157 .byte 73 # DW_AT_type158 .byte 16 # DW_FORM_ref_addr159 .byte 63 # DW_AT_external160 .byte 25 # DW_FORM_flag_present161 .byte 58 # DW_AT_decl_file162 .byte 11 # DW_FORM_data1163 .byte 59 # DW_AT_decl_line164 .byte 11 # DW_FORM_data1165 .byte 2 # DW_AT_location166 .byte 24 # DW_FORM_exprloc167 .byte 0 # EOM(1)168 .byte 0 # EOM(2)169 .byte 5 # Abbreviation Code170 .byte 57 # DW_TAG_namespace171 .byte 1 # DW_CHILDREN_yes172 .byte 3 # DW_AT_name173 .byte 37 # DW_FORM_strx1174 .byte 0 # EOM(1)175 .byte 0 # EOM(2)176 .byte 6 # Abbreviation Code177 .byte 52 # DW_TAG_variable178 .byte 0 # DW_CHILDREN_no179 .byte 3 # DW_AT_name180 .byte 37 # DW_FORM_strx1181 .byte 73 # DW_AT_type182 .byte 16 # DW_FORM_ref_addr183 .byte 63 # DW_AT_external184 .byte 25 # DW_FORM_flag_present185 .byte 58 # DW_AT_decl_file186 .byte 11 # DW_FORM_data1187 .byte 59 # DW_AT_decl_line188 .byte 11 # DW_FORM_data1189 .byte 2 # DW_AT_location190 .byte 24 # DW_FORM_exprloc191 .byte 110 # DW_AT_linkage_name192 .byte 37 # DW_FORM_strx1193 .byte 0 # EOM(1)194 .byte 0 # EOM(2)195 .byte 0 # EOM(3)196 .section .debug_info,"",@progbits197.Lcu_begin0:198 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit199.Ldebug_info_start0:200 .short 5 # DWARF version number201 .byte 1 # DWARF Unit Type202 .byte 8 # Address Size (in bytes)203 .long .debug_abbrev # Offset Into Abbrev. Section204 .byte 1 # Abbrev [1] 0xc:0x22 DW_TAG_compile_unit205 .byte 0 # DW_AT_producer206 .short 33 # DW_AT_language207 .byte 1 # DW_AT_name208 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base209 .long .Lline_table_start0 # DW_AT_stmt_list210 .byte 2 # DW_AT_comp_dir211 .long .Laddr_table_base0 # DW_AT_addr_base212 .byte 2 # Abbrev [2] 0x1e:0xb DW_TAG_variable213 .byte 3 # DW_AT_name214 .long 41 # DW_AT_type215 # DW_AT_external216 .byte 1 # DW_AT_decl_file217 .byte 1 # DW_AT_decl_line218 .byte 2 # DW_AT_location219 .byte 161220 .byte 0221 .byte 3 # Abbrev [3] 0x29:0x4 DW_TAG_base_type222 .byte 4 # DW_AT_name223 .byte 5 # DW_AT_encoding224 .byte 4 # DW_AT_byte_size225 .byte 0 # End Of Children Mark226.Ldebug_info_end0:227.Lcu_begin1:228 .long .Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit229.Ldebug_info_start1:230 .short 5 # DWARF version number231 .byte 1 # DWARF Unit Type232 .byte 8 # Address Size (in bytes)233 .long .debug_abbrev # Offset Into Abbrev. Section234 .byte 1 # Abbrev [1] 0xc:0x1e DW_TAG_compile_unit235 .byte 0 # DW_AT_producer236 .short 33 # DW_AT_language237 .byte 5 # DW_AT_name238 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base239 .long .Lline_table_start0 # DW_AT_stmt_list240 .byte 2 # DW_AT_comp_dir241 .long .Laddr_table_base0 # DW_AT_addr_base242 .byte 4 # Abbrev [4] 0x1e:0xb DW_TAG_variable243 .byte 6 # DW_AT_name244 .long .debug_info+41 # DW_AT_type245 # DW_AT_external246 .byte 2 # DW_AT_decl_file247 .byte 1 # DW_AT_decl_line248 .byte 2 # DW_AT_location249 .byte 161250 .byte 1251 .byte 0 # End Of Children Mark252.Ldebug_info_end1:253.Lcu_begin2:254 .long .Ldebug_info_end2-.Ldebug_info_start2 # Length of Unit255.Ldebug_info_start2:256 .short 5 # DWARF version number257 .byte 1 # DWARF Unit Type258 .byte 8 # Address Size (in bytes)259 .long .debug_abbrev # Offset Into Abbrev. Section260 .byte 1 # Abbrev [1] 0xc:0x22 DW_TAG_compile_unit261 .byte 0 # DW_AT_producer262 .short 33 # DW_AT_language263 .byte 7 # DW_AT_name264 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base265 .long .Lline_table_start0 # DW_AT_stmt_list266 .byte 2 # DW_AT_comp_dir267 .long .Laddr_table_base0 # DW_AT_addr_base268 .byte 5 # Abbrev [5] 0x1e:0xf DW_TAG_namespace269 .byte 8 # DW_AT_name270 .byte 6 # Abbrev [6] 0x20:0xc DW_TAG_variable271 .byte 9 # DW_AT_name272 .long .debug_info+41 # DW_AT_type273 # DW_AT_external274 .byte 3 # DW_AT_decl_file275 .byte 2 # DW_AT_decl_line276 .byte 2 # DW_AT_location277 .byte 161278 .byte 2279 .byte 10 # DW_AT_linkage_name280 .byte 0 # End Of Children Mark281 .byte 0 # End Of Children Mark282.Ldebug_info_end2:283 .section .debug_str_offsets,"",@progbits284 .long 48 # Length of String Offsets Set285 .short 5286 .short 0287.Lstr_offsets_base0:288 .section .debug_str,"MS",@progbits,1289.Linfo_string0:290 .byte 0 # string offset=0291.Linfo_string1:292 .asciz "b.cc" # string offset=1293.Linfo_string2:294 .asciz "/proc/self/cwd" # string offset=6295.Linfo_string3:296 .asciz "vb" # string offset=21297.Linfo_string4:298 .asciz "int" # string offset=24299.Linfo_string5:300 .asciz "c.cc" # string offset=28301.Linfo_string6:302 .asciz "vc" # string offset=33303.Linfo_string7:304 .asciz "d.cc" # string offset=36305.Linfo_string8:306 .asciz "ns" # string offset=41307.Linfo_string9:308 .asciz "vd" # string offset=44309.Linfo_string10:310 .asciz "_ZN2ns2vdE" # string offset=47311 .section .debug_str_offsets,"",@progbits312 .long .Linfo_string0313 .long .Linfo_string1314 .long .Linfo_string2315 .long .Linfo_string3316 .long .Linfo_string4317 .long .Linfo_string5318 .long .Linfo_string6319 .long .Linfo_string7320 .long .Linfo_string8321 .long .Linfo_string9322 .long .Linfo_string10323 .section .debug_addr,"",@progbits324 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution325.Ldebug_addr_start0:326 .short 5 # DWARF version number327 .byte 8 # Address size328 .byte 0 # Segment selector size329.Laddr_table_base0:330 .quad vb331 .quad vc332 .quad _ZN2ns2vdE333.Ldebug_addr_end0:334 .section .debug_names,"",@progbits335 .long .Lnames_end0-.Lnames_start0 # Header: unit length336.Lnames_start0:337 .short 5 # Header: version338 .short 0 # Header: padding339 .long 3 # Header: compilation unit count340 .long 0 # Header: local type unit count341 .long 0 # Header: foreign type unit count342 .long 6 # Header: bucket count343 .long 6 # Header: name count344 .long .Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size345 .long 8 # Header: augmentation string size346 .ascii "LLVM0700" # Header: augmentation string347 .long .Lcu_begin0 # Compilation unit 0348 .long .Lcu_begin1 # Compilation unit 1349 .long .Lcu_begin2 # Compilation unit 2350 .long 1 # Bucket 0351 .long 2 # Bucket 1352 .long 3 # Bucket 2353 .long 0 # Bucket 3354 .long 4 # Bucket 4355 .long 6 # Bucket 5356 .long 5863902 # Hash in Bucket 0357 .long 5863903 # Hash in Bucket 1358 .long 193495088 # Hash in Bucket 2359 .long 5863654 # Hash in Bucket 4360 .long -823734096 # Hash in Bucket 4361 .long 5863901 # Hash in Bucket 5362 .long .Linfo_string6 # String in Bucket 0: vc363 .long .Linfo_string9 # String in Bucket 1: vd364 .long .Linfo_string4 # String in Bucket 2: int365 .long .Linfo_string8 # String in Bucket 4: ns366 .long .Linfo_string10 # String in Bucket 4: _ZN2ns2vdE367 .long .Linfo_string3 # String in Bucket 5: vb368 .long .Lnames2-.Lnames_entries0 # Offset in Bucket 0369 .long .Lnames4-.Lnames_entries0 # Offset in Bucket 1370 .long .Lnames0-.Lnames_entries0 # Offset in Bucket 2371 .long .Lnames3-.Lnames_entries0 # Offset in Bucket 4372 .long .Lnames5-.Lnames_entries0 # Offset in Bucket 4373 .long .Lnames1-.Lnames_entries0 # Offset in Bucket 5374.Lnames_abbrev_start0:375 .byte 1 # Abbrev code376 .byte 52 # DW_TAG_variable377 .byte 1 # DW_IDX_compile_unit378 .byte 11 # DW_FORM_data1379 .byte 3 # DW_IDX_die_offset380 .byte 19 # DW_FORM_ref4381 .byte 4 # DW_IDX_parent382 .byte 25 # DW_FORM_flag_present383 .byte 0 # End of abbrev384 .byte 0 # End of abbrev385 .byte 2 # Abbrev code386 .byte 52 # DW_TAG_variable387 .byte 1 # DW_IDX_compile_unit388 .byte 11 # DW_FORM_data1389 .byte 3 # DW_IDX_die_offset390 .byte 19 # DW_FORM_ref4391 .byte 4 # DW_IDX_parent392 .byte 19 # DW_FORM_ref4393 .byte 0 # End of abbrev394 .byte 0 # End of abbrev395 .byte 3 # Abbrev code396 .byte 36 # DW_TAG_base_type397 .byte 1 # DW_IDX_compile_unit398 .byte 11 # DW_FORM_data1399 .byte 3 # DW_IDX_die_offset400 .byte 19 # DW_FORM_ref4401 .byte 4 # DW_IDX_parent402 .byte 25 # DW_FORM_flag_present403 .byte 0 # End of abbrev404 .byte 0 # End of abbrev405 .byte 4 # Abbrev code406 .byte 57 # DW_TAG_namespace407 .byte 1 # DW_IDX_compile_unit408 .byte 11 # DW_FORM_data1409 .byte 3 # DW_IDX_die_offset410 .byte 19 # DW_FORM_ref4411 .byte 4 # DW_IDX_parent412 .byte 25 # DW_FORM_flag_present413 .byte 0 # End of abbrev414 .byte 0 # End of abbrev415 .byte 0 # End of abbrev list416.Lnames_abbrev_end0:417.Lnames_entries0:418.Lnames2:419.L0:420 .byte 1 # Abbreviation code421 .byte 1 # DW_IDX_compile_unit422 .long 30 # DW_IDX_die_offset423 .byte 0 # DW_IDX_parent424 # End of list: vc425.Lnames4:426.L4:427 .byte 2 # Abbreviation code428 .byte 2 # DW_IDX_compile_unit429 .long 32 # DW_IDX_die_offset430 .long .L2-.Lnames_entries0 # DW_IDX_parent431 .byte 0 # End of list: vd432.Lnames0:433.L3:434 .byte 3 # Abbreviation code435 .byte 0 # DW_IDX_compile_unit436 .long 41 # DW_IDX_die_offset437 .byte 0 # DW_IDX_parent438 # End of list: int439.Lnames3:440.L2:441 .byte 4 # Abbreviation code442 .byte 2 # DW_IDX_compile_unit443 .long 30 # DW_IDX_die_offset444 .byte 0 # DW_IDX_parent445 # End of list: ns446.Lnames5:447 .byte 2 # Abbreviation code448 .byte 2 # DW_IDX_compile_unit449 .long 32 # DW_IDX_die_offset450 .long .L2-.Lnames_entries0 # DW_IDX_parent451 .byte 0 # End of list: _ZN2ns2vdE452.Lnames1:453.L1:454 .byte 1 # Abbreviation code455 .byte 0 # DW_IDX_compile_unit456 .long 30 # DW_IDX_die_offset457 .byte 0 # DW_IDX_parent458 # End of list: vb459 .p2align 2, 0x0460.Lnames_end0:461 .section ".note.GNU-stack","",@progbits462 .addrsig463 .addrsig_sym vb464 .addrsig_sym vc465 .addrsig_sym _ZN2ns2vdE466 .section .debug_line,"",@progbits467.Lline_table_start0:468#--- ef.s469 .text470 .file "ld-temp.o"471 .file 1 "/proc/self/cwd" "e.cc" md5 0xa8d6c645998197bd15436f2a351ebd6a472 .file 2 "/proc/self/cwd" "f.cc" md5 0x6ec1ec6b7f003f84cb0bf3409e65b085473 .type ve,@object # @ve474 .section .bss.ve,"aw",@nobits475 .globl ve476 .p2align 2, 0x0477ve:478 .long 0 # 0x0479 .size ve, 4480 481 .type _ZN2ns2vfE,@object # @_ZN2ns2vfE482 .section .bss._ZN2ns2vfE,"aw",@nobits483 .globl _ZN2ns2vfE484 .p2align 2, 0x0485_ZN2ns2vfE:486 .long 0 # 0x0487 .size _ZN2ns2vfE, 4488 489 .section .debug_abbrev,"",@progbits490 .byte 1 # Abbreviation Code491 .byte 17 # DW_TAG_compile_unit492 .byte 1 # DW_CHILDREN_yes493 .byte 37 # DW_AT_producer494 .byte 37 # DW_FORM_strx1495 .byte 19 # DW_AT_language496 .byte 5 # DW_FORM_data2497 .byte 3 # DW_AT_name498 .byte 37 # DW_FORM_strx1499 .byte 114 # DW_AT_str_offsets_base500 .byte 23 # DW_FORM_sec_offset501 .byte 16 # DW_AT_stmt_list502 .byte 23 # DW_FORM_sec_offset503 .byte 27 # DW_AT_comp_dir504 .byte 37 # DW_FORM_strx1505 .byte 115 # DW_AT_addr_base506 .byte 23 # DW_FORM_sec_offset507 .byte 0 # EOM(1)508 .byte 0 # EOM(2)509 .byte 2 # Abbreviation Code510 .byte 52 # DW_TAG_variable511 .byte 0 # DW_CHILDREN_no512 .byte 3 # DW_AT_name513 .byte 37 # DW_FORM_strx1514 .byte 73 # DW_AT_type515 .byte 19 # DW_FORM_ref4516 .byte 63 # DW_AT_external517 .byte 25 # DW_FORM_flag_present518 .byte 58 # DW_AT_decl_file519 .byte 11 # DW_FORM_data1520 .byte 59 # DW_AT_decl_line521 .byte 11 # DW_FORM_data1522 .byte 2 # DW_AT_location523 .byte 24 # DW_FORM_exprloc524 .byte 0 # EOM(1)525 .byte 0 # EOM(2)526 .byte 3 # Abbreviation Code527 .byte 36 # DW_TAG_base_type528 .byte 0 # DW_CHILDREN_no529 .byte 3 # DW_AT_name530 .byte 37 # DW_FORM_strx1531 .byte 62 # DW_AT_encoding532 .byte 11 # DW_FORM_data1533 .byte 11 # DW_AT_byte_size534 .byte 11 # DW_FORM_data1535 .byte 0 # EOM(1)536 .byte 0 # EOM(2)537 .byte 4 # Abbreviation Code538 .byte 57 # DW_TAG_namespace539 .byte 1 # DW_CHILDREN_yes540 .byte 3 # DW_AT_name541 .byte 37 # DW_FORM_strx1542 .byte 0 # EOM(1)543 .byte 0 # EOM(2)544 .byte 5 # Abbreviation Code545 .byte 52 # DW_TAG_variable546 .byte 0 # DW_CHILDREN_no547 .byte 3 # DW_AT_name548 .byte 37 # DW_FORM_strx1549 .byte 73 # DW_AT_type550 .byte 16 # DW_FORM_ref_addr551 .byte 63 # DW_AT_external552 .byte 25 # DW_FORM_flag_present553 .byte 58 # DW_AT_decl_file554 .byte 11 # DW_FORM_data1555 .byte 59 # DW_AT_decl_line556 .byte 11 # DW_FORM_data1557 .byte 2 # DW_AT_location558 .byte 24 # DW_FORM_exprloc559 .byte 110 # DW_AT_linkage_name560 .byte 37 # DW_FORM_strx1561 .byte 0 # EOM(1)562 .byte 0 # EOM(2)563 .byte 0 # EOM(3)564 .section .debug_info,"",@progbits565.Lcu_begin0:566 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit567.Ldebug_info_start0:568 .short 5 # DWARF version number569 .byte 1 # DWARF Unit Type570 .byte 8 # Address Size (in bytes)571 .long .debug_abbrev # Offset Into Abbrev. Section572 .byte 1 # Abbrev [1] 0xc:0x22 DW_TAG_compile_unit573 .byte 0 # DW_AT_producer574 .short 33 # DW_AT_language575 .byte 1 # DW_AT_name576 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base577 .long .Lline_table_start0 # DW_AT_stmt_list578 .byte 2 # DW_AT_comp_dir579 .long .Laddr_table_base0 # DW_AT_addr_base580 .byte 2 # Abbrev [2] 0x1e:0xb DW_TAG_variable581 .byte 3 # DW_AT_name582 .long 41 # DW_AT_type583 # DW_AT_external584 .byte 1 # DW_AT_decl_file585 .byte 1 # DW_AT_decl_line586 .byte 2 # DW_AT_location587 .byte 161588 .byte 0589 .byte 3 # Abbrev [3] 0x29:0x4 DW_TAG_base_type590 .byte 4 # DW_AT_name591 .byte 5 # DW_AT_encoding592 .byte 4 # DW_AT_byte_size593 .byte 0 # End Of Children Mark594.Ldebug_info_end0:595.Lcu_begin1:596 .long .Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit597.Ldebug_info_start1:598 .short 5 # DWARF version number599 .byte 1 # DWARF Unit Type600 .byte 8 # Address Size (in bytes)601 .long .debug_abbrev # Offset Into Abbrev. Section602 .byte 1 # Abbrev [1] 0xc:0x22 DW_TAG_compile_unit603 .byte 0 # DW_AT_producer604 .short 33 # DW_AT_language605 .byte 5 # DW_AT_name606 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base607 .long .Lline_table_start0 # DW_AT_stmt_list608 .byte 2 # DW_AT_comp_dir609 .long .Laddr_table_base0 # DW_AT_addr_base610 .byte 4 # Abbrev [4] 0x1e:0xf DW_TAG_namespace611 .byte 6 # DW_AT_name612 .byte 5 # Abbrev [5] 0x20:0xc DW_TAG_variable613 .byte 7 # DW_AT_name614 .long .debug_info+41 # DW_AT_type615 # DW_AT_external616 .byte 2 # DW_AT_decl_file617 .byte 2 # DW_AT_decl_line618 .byte 2 # DW_AT_location619 .byte 161620 .byte 1621 .byte 8 # DW_AT_linkage_name622 .byte 0 # End Of Children Mark623 .byte 0 # End Of Children Mark624.Ldebug_info_end1:625 .section .debug_str_offsets,"",@progbits626 .long 40 # Length of String Offsets Set627 .short 5628 .short 0629.Lstr_offsets_base0:630 .section .debug_str,"MS",@progbits,1631.Linfo_string0:632 .byte 0 # string offset=0633.Linfo_string1:634 .asciz "e.cc" # string offset=1635.Linfo_string2:636 .asciz "/proc/self/cwd" # string offset=6637.Linfo_string3:638 .asciz "ve" # string offset=21639.Linfo_string4:640 .asciz "int" # string offset=24641.Linfo_string5:642 .asciz "f.cc" # string offset=28643.Linfo_string6:644 .asciz "ns" # string offset=33645.Linfo_string7:646 .asciz "vf" # string offset=36647.Linfo_string8:648 .asciz "_ZN2ns2vfE" # string offset=39649 .section .debug_str_offsets,"",@progbits650 .long .Linfo_string0651 .long .Linfo_string1652 .long .Linfo_string2653 .long .Linfo_string3654 .long .Linfo_string4655 .long .Linfo_string5656 .long .Linfo_string6657 .long .Linfo_string7658 .long .Linfo_string8659 .section .debug_addr,"",@progbits660 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution661.Ldebug_addr_start0:662 .short 5 # DWARF version number663 .byte 8 # Address size664 .byte 0 # Segment selector size665.Laddr_table_base0:666 .quad ve667 .quad _ZN2ns2vfE668.Ldebug_addr_end0:669 .section .debug_names,"",@progbits670 .long .Lnames_end0-.Lnames_start0 # Header: unit length671.Lnames_start0:672 .short 5 # Header: version673 .short 0 # Header: padding674 .long 2 # Header: compilation unit count675 .long 0 # Header: local type unit count676 .long 0 # Header: foreign type unit count677 .long 5 # Header: bucket count678 .long 5 # Header: name count679 .long .Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size680 .long 8 # Header: augmentation string size681 .ascii "LLVM0700" # Header: augmentation string682 .long .Lcu_begin0 # Compilation unit 0683 .long .Lcu_begin1 # Compilation unit 1684 .long 1 # Bucket 0685 .long 2 # Bucket 1686 .long 0 # Bucket 2687 .long 3 # Bucket 3688 .long 4 # Bucket 4689 .long 5863905 # Hash in Bucket 0690 .long -823734030 # Hash in Bucket 1691 .long 193495088 # Hash in Bucket 3692 .long 5863654 # Hash in Bucket 4693 .long 5863904 # Hash in Bucket 4694 .long .Linfo_string7 # String in Bucket 0: vf695 .long .Linfo_string8 # String in Bucket 1: _ZN2ns2vfE696 .long .Linfo_string4 # String in Bucket 3: int697 .long .Linfo_string6 # String in Bucket 4: ns698 .long .Linfo_string3 # String in Bucket 4: ve699 .long .Lnames3-.Lnames_entries0 # Offset in Bucket 0700 .long .Lnames4-.Lnames_entries0 # Offset in Bucket 1701 .long .Lnames0-.Lnames_entries0 # Offset in Bucket 3702 .long .Lnames2-.Lnames_entries0 # Offset in Bucket 4703 .long .Lnames1-.Lnames_entries0 # Offset in Bucket 4704.Lnames_abbrev_start0:705 .byte 1 # Abbrev code706 .byte 52 # DW_TAG_variable707 .byte 1 # DW_IDX_compile_unit708 .byte 11 # DW_FORM_data1709 .byte 3 # DW_IDX_die_offset710 .byte 19 # DW_FORM_ref4711 .byte 4 # DW_IDX_parent712 .byte 19 # DW_FORM_ref4713 .byte 0 # End of abbrev714 .byte 0 # End of abbrev715 .byte 2 # Abbrev code716 .byte 36 # DW_TAG_base_type717 .byte 1 # DW_IDX_compile_unit718 .byte 11 # DW_FORM_data1719 .byte 3 # DW_IDX_die_offset720 .byte 19 # DW_FORM_ref4721 .byte 4 # DW_IDX_parent722 .byte 25 # DW_FORM_flag_present723 .byte 0 # End of abbrev724 .byte 0 # End of abbrev725 .byte 3 # Abbrev code726 .byte 57 # DW_TAG_namespace727 .byte 1 # DW_IDX_compile_unit728 .byte 11 # DW_FORM_data1729 .byte 3 # DW_IDX_die_offset730 .byte 19 # DW_FORM_ref4731 .byte 4 # DW_IDX_parent732 .byte 25 # DW_FORM_flag_present733 .byte 0 # End of abbrev734 .byte 0 # End of abbrev735 .byte 4 # Abbrev code736 .byte 52 # DW_TAG_variable737 .byte 1 # DW_IDX_compile_unit738 .byte 11 # DW_FORM_data1739 .byte 3 # DW_IDX_die_offset740 .byte 19 # DW_FORM_ref4741 .byte 4 # DW_IDX_parent742 .byte 25 # DW_FORM_flag_present743 .byte 0 # End of abbrev744 .byte 0 # End of abbrev745 .byte 0 # End of abbrev list746.Lnames_abbrev_end0:747.Lnames_entries0:748.Lnames3:749.L2:750 .byte 1 # Abbreviation code751 .byte 1 # DW_IDX_compile_unit752 .long 32 # DW_IDX_die_offset753 .long .L0-.Lnames_entries0 # DW_IDX_parent754 .byte 0 # End of list: vf755.Lnames4:756 .byte 1 # Abbreviation code757 .byte 1 # DW_IDX_compile_unit758 .long 32 # DW_IDX_die_offset759 .long .L0-.Lnames_entries0 # DW_IDX_parent760 .byte 0 # End of list: _ZN2ns2vfE761.Lnames0:762.L3:763 .byte 2 # Abbreviation code764 .byte 0 # DW_IDX_compile_unit765 .long 41 # DW_IDX_die_offset766 .byte 0 # DW_IDX_parent767 # End of list: int768.Lnames2:769.L0:770 .byte 3 # Abbreviation code771 .byte 1 # DW_IDX_compile_unit772 .long 30 # DW_IDX_die_offset773 .byte 0 # DW_IDX_parent774 # End of list: ns775.Lnames1:776.L1:777 .byte 4 # Abbreviation code778 .byte 0 # DW_IDX_compile_unit779 .long 30 # DW_IDX_die_offset780 .byte 0 # DW_IDX_parent781 # End of list: ve782 .p2align 2, 0x0783.Lnames_end0:784 .section ".note.GNU-stack","",@progbits785 .addrsig786 .addrsig_sym ve787 .addrsig_sym _ZN2ns2vfE788 .section .debug_line,"",@progbits789.Lline_table_start0:790