blob: e08b0430c89122a81af381a2f7697860b191f971 [file] [log] [blame]
Pavel Labath47c34722018-03-09 11:58:59 +00001# This test sets non-zero Die Offset Base field in the accelerator table header,
2# and makes sure it is added to the DW_FORM_ref*** forms.
3
4# RUN: llvm-mc -triple x86_64-apple-darwin %s -filetype=obj -o %t
5# RUN: llvm-dwarfdump -find=main %t | FileCheck %s
6
7# CHECK: DW_TAG_subprogram
8# CHECK-NEXT: DW_AT_name ("main")
9# CHECK-NEXT: DW_AT_external
10
11 .section __DWARF,__debug_str,regular,debug
12Ldebug_str:
13Lstring_producer:
14 .asciz "Hand-written dwarf"
15Lstring_main:
16 .asciz "main"
17
18 .section __DWARF,__debug_abbrev,regular,debug
19 .byte 1 # Abbreviation Code
20 .byte 17 # DW_TAG_compile_unit
21 .byte 1 # DW_CHILDREN_yes
22 .byte 37 # DW_AT_producer
23 .byte 14 # DW_FORM_strp
24 .byte 19 # DW_AT_language
25 .byte 5 # DW_FORM_data2
26 .byte 0 # EOM(1)
27 .byte 0 # EOM(2)
28 .byte 2 # Abbreviation Code
29 .byte 46 # DW_TAG_subprogram
30 .byte 0 # DW_CHILDREN_no
31 .byte 3 # DW_AT_name
32 .byte 14 # DW_FORM_strp
33 .byte 63 # DW_AT_external
34 .byte 25 # DW_FORM_flag_present
35 .byte 0 # EOM(1)
36 .byte 0 # EOM(2)
37 .byte 0 # EOM(3)
38
39 .section __DWARF,__debug_info,regular,debug
40Ldebug_info:
41 .long Lcu_end0-Lcu_start0 # Length of Unit
42Lcu_start0:
43 .short 4 # DWARF version number
44 .long 0 # Offset Into Abbrev. Section
45 .byte 8 # Address Size (in bytes)
46 .byte 1 # Abbrev [1] DW_TAG_compile_unit
47 .long Lstring_producer-Ldebug_str # DW_AT_producer
48 .short 12 # DW_AT_language
49Ldie_main:
50 .byte 2 # Abbrev [2] DW_TAG_subprogram
51 .long Lstring_main-Ldebug_str # DW_AT_name
52 # DW_AT_external
53 .byte 0 # End Of Children Mark
54Lcu_end0:
55
56 .section __DWARF,__apple_names,regular,debug
57Lnames_begin:
58 .long 1212240712 ## Header Magic
59 .short 1 ## Header Version
60 .short 0 ## Header Hash Function
61 .long 1 ## Header Bucket Count
62 .long 1 ## Header Hash Count
63 .long 12 ## Header Data Length
64 .long 1 ## HeaderData Die Offset Base
65 .long 1 ## HeaderData Atom Count
66 .short 1 ## DW_ATOM_die_offset
67 .short 0x13 ## DW_FORM_ref4
68 .long 0 ## Bucket 0
69 .long 2090499946 ## Hash in Bucket 0
70 .long LNames0-Lnames_begin ## Offset in Bucket 0
71LNames0:
72 .long Lstring_main-Ldebug_str ## main
73 .long 1 ## Num DIEs
74 .long Ldie_main-Ldebug_info-1
75 .long 0