1 RUN: llvm-dwarfdump %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s
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
14 CHECK: Hash = 0x248050fe Offset = 0x000000fc
15 CHECK: Name: 00000165 "-[TestInterface Retain]"
16 CHECK: Data[0] => {Atom[0]: 0x0000024f}
18 CHECK: Hash = 0x926d42cc Offset = 0x0000010c
19 CHECK: Name: 00000057 "ReadWrite"
20 CHECK: Data[0] => {Atom[0]: 0x000001cb}
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}
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}
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}
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}
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}
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
109 CHECK: Hash = 0x0b888030 Offset = 0x00000058
110 CHECK: Name: 00000046 "int"
111 CHECK: Data[0] => {Atom[0]: 0x000000f4} {Atom[1]: 0x0024} {Atom[2]: 0x00}
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}
120 CHECK: Hash = 0x16a83cb6 Offset = 0x00000091
121 CHECK: Name: 00000039 "TestInterface"
122 CHECK: Data[0] => {Atom[0]: 0x0000002f} {Atom[1]: 0x0013} {Atom[2]: 0x00}
127 CHECK: .apple_namespaces contents:
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
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}