[dwarfdump] Add support for dumping accelerator tables.
[oota-llvm.git] / test / DebugInfo / dwarfdump-accel.test
1 RUN: llvm-dwarfdump %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s
2
3 CHECK: .apple_names contents:
4 CHECK: Magic = 0x48415348
5 CHECK: Version = 0x0001
6 CHECK: Hash function = 0x00000000
7 CHECK: Bucket count = 11
8 CHECK: Hashes count = 22
9 CHECK: HeaderData length = 12
10 CHECK: DIE offset base = 0
11 CHECK: Number of atoms = 1
12 CHECK: Atom[0]  Type: DW_ATOM_die_offset Form: DW_FORM_data4
13 CHECK: Bucket[0]
14 CHECK:   Hash = 0x248050fe Offset = 0x000000fc
15 CHECK:     Name: 00000165 "-[TestInterface Retain]"
16 CHECK:     Data[0] => {Atom[0]: 0x0000024f} 
17 CHECK: Bucket[1]
18 CHECK:   Hash = 0x926d42cc Offset = 0x0000010c
19 CHECK:     Name: 00000057 "ReadWrite"
20 CHECK:     Data[0] => {Atom[0]: 0x000001cb} 
21 CHECK: Bucket[2]
22 CHECK:   EMPTY
23 CHECK: Bucket[3]
24 CHECK:   Hash = 0x99254268 Offset = 0x0000011c
25 CHECK:     Name: 0000013f "-[TestInterface setReadWrite:]"
26 CHECK:     Data[0] => {Atom[0]: 0x00000209} 
27 CHECK:   Hash = 0x946f52b9 Offset = 0x0000012c
28 CHECK:     Name: 000000c6 "-[TestInterface ReadOnly]"
29 CHECK:     Data[0] => {Atom[0]: 0x00000109} 
30 CHECK: Bucket[4]
31 CHECK:   EMPTY
32 CHECK: Bucket[5]
33 CHECK:   EMPTY
34 CHECK: Bucket[6]
35 CHECK:   Hash = 0x6e8e91a3 Offset = 0x0000013c
36 CHECK:     Name: 000001e0 "-[TestInterface NonAtomic]"
37 CHECK:     Data[0] => {Atom[0]: 0x00000357} 
38 CHECK:   Hash = 0x7d1a5012 Offset = 0x0000014c
39 CHECK:     Name: 0000014d "setReadWrite:"
40 CHECK:     Data[0] => {Atom[0]: 0x00000209} 
41 CHECK:   Hash = 0xb65f49d3 Offset = 0x0000015c
42 CHECK:     Name: 0000020d "setNonAtomic:"
43 CHECK:     Data[0] => {Atom[0]: 0x00000395} 
44 CHECK:   Hash = 0x354997e2 Offset = 0x0000016c
45 CHECK:     Name: 00000120 "-[TestInterface ReadWrite]"
46 CHECK:     Data[0] => {Atom[0]: 0x000001cb} 
47 CHECK: Bucket[7]
48 CHECK:   Hash = 0xce8af9c8 Offset = 0x0000017c
49 CHECK:     Name: 0000005e "Retain"
50 CHECK:     Data[0] => {Atom[0]: 0x0000024f} 
51 CHECK:   Hash = 0xa7e0338a Offset = 0x0000018c
52 CHECK:     Name: 0000004d "Assign"
53 CHECK:     Data[0] => {Atom[0]: 0x00000147} 
54 CHECK:   Hash = 0xa9812410 Offset = 0x0000019c
55 CHECK:     Name: 00000105 "setAssign:"
56 CHECK:     Data[0] => {Atom[0]: 0x00000185} 
57 CHECK:   Hash = 0x218d07f6 Offset = 0x000001ac
58 CHECK:     Name: 000001a2 "-[TestInterface Copy]"
59 CHECK:     Data[0] => {Atom[0]: 0x000002d3} 
60 CHECK:   Hash = 0x0456817c Offset = 0x000001bc
61 CHECK:     Name: 000001bc "-[TestInterface setCopy:]"
62 CHECK:     Data[0] => {Atom[0]: 0x00000311} 
63 CHECK:   Hash = 0x7c83b400 Offset = 0x000001cc
64 CHECK:     Name: 0000006c "Copy"
65 CHECK:     Data[0] => {Atom[0]: 0x000002d3} 
66 CHECK: Bucket[8]
67 CHECK:   Hash = 0x0f918046 Offset = 0x000001dc
68 CHECK:     Name: 000001c5 "setCopy:"
69 CHECK:     Data[0] => {Atom[0]: 0x00000311} 
70 CHECK:   Hash = 0xfb097449 Offset = 0x000001ec
71 CHECK:     Name: 000001ff "-[TestInterface setNonAtomic:]"
72 CHECK:     Data[0] => {Atom[0]: 0x00000395} 
73 CHECK:   Hash = 0x71069de3 Offset = 0x000001fc
74 CHECK:     Name: 00000042 "ReadOnly"
75 CHECK:     Data[0] => {Atom[0]: 0x00000109} 
76 CHECK: Bucket[9]
77 CHECK:   Hash = 0xd55908c6 Offset = 0x0000020c
78 CHECK:     Name: 000000fa "-[TestInterface setAssign:]"
79 CHECK:     Data[0] => {Atom[0]: 0x00000185} 
80 CHECK:   Hash = 0xa584b20e Offset = 0x0000021c
81 CHECK:     Name: 0000018c "setRetain:"
82 CHECK:     Data[0] => {Atom[0]: 0x0000028d} 
83 CHECK:   Hash = 0x9429886d Offset = 0x0000022c
84 CHECK:     Name: 00000076 "NonAtomic"
85 CHECK:     Data[0] => {Atom[0]: 0x00000357} 
86 CHECK:   Hash = 0x287cc300 Offset = 0x0000023c
87 CHECK:     Name: 000000de "-[TestInterface Assign]"
88 CHECK:     Data[0] => {Atom[0]: 0x00000147} 
89 CHECK:   Hash = 0x51ce5684 Offset = 0x0000024c
90 CHECK:     Name: 00000181 "-[TestInterface setRetain:]"
91 CHECK:     Data[0] => {Atom[0]: 0x0000028d} 
92 CHECK: Bucket[10]
93 CHECK:   EMPTY
94
95
96 CHECK: .apple_types contents:
97 CHECK: Magic = 0x48415348
98 CHECK: Version = 0x0001
99 CHECK: Hash function = 0x00000000
100 CHECK: Bucket count = 4
101 CHECK: Hashes count = 4
102 CHECK: HeaderData length = 20
103 CHECK: DIE offset base = 0
104 CHECK: Number of atoms = 3
105 CHECK: Atom[0]  Type: DW_ATOM_die_offset Form: DW_FORM_data4
106 CHECK: Atom[1]  Type: DW_ATOM_die_tag Form: DW_FORM_data2
107 CHECK: Atom[2]  Type: DW_ATOM_type_flags Form: DW_FORM_data1
108 CHECK: Bucket[0]
109 CHECK:   Hash = 0x0b888030 Offset = 0x00000058
110 CHECK:     Name: 00000046 "int"
111 CHECK:     Data[0] => {Atom[0]: 0x000000f4} {Atom[1]: 0x0024} {Atom[2]: 0x00} 
112 CHECK: Bucket[1]
113 CHECK:   Hash = 0x0b881d29 Offset = 0x0000006b
114 CHECK:     Name: 0000021b "SEL"
115 CHECK:     Data[0] => {Atom[0]: 0x000003e0} {Atom[1]: 0x0016} {Atom[2]: 0x00} 
116 CHECK:   Hash = 0x2c549f3d Offset = 0x0000007e
117 CHECK:     Name: 00000067 "NSObject"
118 CHECK:     Data[0] => {Atom[0]: 0x00000100} {Atom[1]: 0x0013} {Atom[2]: 0x00} 
119 CHECK: Bucket[2]
120 CHECK:   Hash = 0x16a83cb6 Offset = 0x00000091
121 CHECK:     Name: 00000039 "TestInterface"
122 CHECK:     Data[0] => {Atom[0]: 0x0000002f} {Atom[1]: 0x0013} {Atom[2]: 0x00} 
123 CHECK: Bucket[3]
124 CHECK:   EMPTY
125
126
127 CHECK: .apple_namespaces contents:
128 CHECK-NOT: Magic
129
130  
131 CHECK: .apple_objc contents:
132 CHECK: Magic = 0x48415348
133 CHECK: Version = 0x0001
134 CHECK: Hash function = 0x00000000
135 CHECK: Bucket count = 1
136 CHECK: Hashes count = 1
137 CHECK: HeaderData length = 12
138 CHECK: DIE offset base = 0
139 CHECK: Number of atoms = 1
140 CHECK: Atom[0]  Type: DW_ATOM_die_offset Form: DW_FORM_data4
141 CHECK: Bucket[0]
142 CHECK:   Hash = 0x16a83cb6 Offset = 0x0000002c
143 CHECK:     Name: 00000039 "TestInterface"
144 CHECK:     Data[0] => {Atom[0]: 0x00000109} 
145 CHECK:     Data[1] => {Atom[0]: 0x00000147} 
146 CHECK:     Data[2] => {Atom[0]: 0x00000185} 
147 CHECK:     Data[3] => {Atom[0]: 0x000001cb} 
148 CHECK:     Data[4] => {Atom[0]: 0x00000209} 
149 CHECK:     Data[5] => {Atom[0]: 0x0000024f} 
150 CHECK:     Data[6] => {Atom[0]: 0x0000028d} 
151 CHECK:     Data[7] => {Atom[0]: 0x000002d3} 
152 CHECK:     Data[8] => {Atom[0]: 0x00000311} 
153 CHECK:     Data[9] => {Atom[0]: 0x00000357} 
154 CHECK:     Data[10] => {Atom[0]: 0x00000395}