# REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin -dwarf-version=5 %s -o %t.o # RUN: %lld -lSystem %t.o -o %t # RUN: dsymutil -s %t | FileCheck %s -DDIR=%t -DSRC_PATH=%t.o # CHECK: (N_SO ) 00 0000 0000000000000000 '/tmp{{[/\\]}}test.cpp' # CHECK-NEXT: (N_OSO ) 03 0001 {{.*}} '[[SRC_PATH]]' # CHECK-NEXT: (N_FUN ) 01 0000 [[#%.16x,MAIN:]] '_main' # CHECK-NEXT: (N_FUN ) 00 0000 0000000000000001{{$}} # CHECK-DAG: ( SECT EXT) 01 0000 [[#MAIN]] '_main' # CHECK-DAG: ( {{.*}}) {{[0-9]+}} 0010 {{[0-9a-f]+}} '__mh_execute_header' # CHECK-DAG: ( {{.*}}) {{[0-9]+}} 0100 0000000000000000 'dyld_stub_binder' # CHECK-EMPTY: .text .globl _main .subsections_via_symbols _main: Lfunc_begin0: retq Lfunc_end0: .section __DWARF,__debug_str_offs,regular,debug Lsection_str_off: .long 12 ## Length of String Offsets Set .short 5 .short 0 Lstr_offsets_base0: .section __DWARF,__debug_str,regular,debug .asciz "test.cpp" ## string offset=0 .asciz "/tmp" ## string offset=9 .section __DWARF,__debug_str_offs,regular,debug .long 0 .long 9 .section __DWARF,__debug_abbrev,regular,debug Lsection_abbrev: .byte 1 ## Abbreviation Code .byte 17 ## DW_TAG_compile_unit .byte 1 ## DW_CHILDREN_yes .byte 17 ## DW_AT_low_pc .byte 1 ## DW_FORM_addr .byte 18 ## DW_AT_high_pc .byte 6 ## DW_FORM_data4 .byte 3 ## DW_AT_name .byte 37 ## DW_FORM_strx1 .byte 27 ## DW_AT_comp_dir .byte 37 ## DW_FORM_strx1 .byte 114 ## DW_AT_str_offsets_base .byte 23 ## DW_FORM_sec_offset .byte 0 ## EOM(1) .byte 0 ## EOM(2) .byte 0 ## EOM(3) .section __DWARF,__debug_info,regular,debug .set Lset0, Ldebug_info_end0-Ldebug_info_start0 ## Length of Unit .long Lset0 Ldebug_info_start0: .short 5 ## DWARF version number .byte 1 ## DWARF Unit Type .byte 8 ## Address Size (in bytes) .set Lset1, Lsection_abbrev-Lsection_abbrev ## Offset Into Abbrev. Section .long Lset1 .byte 1 ## Abbrev [1] 0xb:0x48 DW_TAG_compile_unit .quad Lfunc_begin0 ## DW_AT_low_pc .set Lset3, Lfunc_end0-Lfunc_begin0 ## DW_AT_high_pc .long Lset3 .byte 0 ## DW_AT_name .byte 1 ## DW_AT_comp_dir .set Lset4, Lstr_offsets_base0-Lsection_str_off ## DW_AT_str_offsets_base .long Lset4 .byte 0 ## End Of Children Mark Ldebug_info_end0: