# This test sets non-zero Die Offset Base field in the accelerator table header, # and makes sure it is added to the DW_FORM_ref*** forms. # RUN: llvm-mc -triple x86_64-apple-darwin %s -filetype=obj -o %t # RUN: llvm-dwarfdump -find=main %t | FileCheck %s # CHECK: DW_TAG_subprogram # CHECK-NEXT: DW_AT_name ("main") # CHECK-NEXT: DW_AT_external .section __DWARF,__debug_str,regular,debug Ldebug_str: Lstring_producer: .asciz "Hand-written dwarf" Lstring_main: .asciz "main" .section __DWARF,__debug_abbrev,regular,debug .byte 1 # Abbreviation Code .byte 17 # DW_TAG_compile_unit .byte 1 # DW_CHILDREN_yes .byte 37 # DW_AT_producer .byte 14 # DW_FORM_strp .byte 19 # DW_AT_language .byte 5 # DW_FORM_data2 .byte 0 # EOM(1) .byte 0 # EOM(2) .byte 2 # Abbreviation Code .byte 46 # DW_TAG_subprogram .byte 0 # DW_CHILDREN_no .byte 3 # DW_AT_name .byte 14 # DW_FORM_strp .byte 63 # DW_AT_external .byte 25 # DW_FORM_flag_present .byte 0 # EOM(1) .byte 0 # EOM(2) .byte 0 # EOM(3) .section __DWARF,__debug_info,regular,debug Ldebug_info: .long Lcu_end0-Lcu_start0 # Length of Unit Lcu_start0: .short 4 # DWARF version number .long 0 # Offset Into Abbrev. Section .byte 8 # Address Size (in bytes) .byte 1 # Abbrev [1] DW_TAG_compile_unit .long Lstring_producer-Ldebug_str # DW_AT_producer .short 12 # DW_AT_language Ldie_main: .byte 2 # Abbrev [2] DW_TAG_subprogram .long Lstring_main-Ldebug_str # DW_AT_name # DW_AT_external .byte 0 # End Of Children Mark Lcu_end0: .section __DWARF,__apple_names,regular,debug Lnames_begin: .long 1212240712 ## Header Magic .short 1 ## Header Version .short 0 ## Header Hash Function .long 1 ## Header Bucket Count .long 1 ## Header Hash Count .long 12 ## Header Data Length .long 1 ## HeaderData Die Offset Base .long 1 ## HeaderData Atom Count .short 1 ## DW_ATOM_die_offset .short 0x13 ## DW_FORM_ref4 .long 0 ## Bucket 0 .long 2090499946 ## Hash in Bucket 0 .long LNames0-Lnames_begin ## Offset in Bucket 0 LNames0: .long Lstring_main-Ldebug_str ## main .long 1 ## Num DIEs .long Ldie_main-Ldebug_info-1 .long 0