apple-names-die-offset-ref.s
2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# 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