xref: /llvm-project/llvm/test/tools/dsymutil/X86/objc.test (revision ab0eb59f1cdace22b1c38c2e1e3e81cc3b923228)
1RUN: dsymutil --verify-dwarf=output -f -oso-prepend-path=%p/.. %p/../Inputs/objc.macho.x86_64 -o %t.d4
2RUN: llvm-dwarfdump -apple-types -apple-objc %t.d4 | FileCheck %s
3
4; Test DWARF 5 tables
5RUN: dsymutil --verify-dwarf=output --accelerator='Dwarf' -f -oso-prepend-path=%p/.. %p/../Inputs/objc.macho.x86_64 -o %t.d5
6RUN: llvm-dwarfdump -debug-names %t.d5 | FileCheck %s --check-prefix=D5
7
8D5: String: {{.*}} "method1:"
9D5: String: {{.*}} "method2:"
10D5: String: {{.*}} "A"
11D5: String: {{.*}} "-[A(Category) method2:]"
12D5: String: {{.*}} "-[A method1:]"
13D5: String: {{.*}} "-[Amethod2:]"
14
15CHECK: .apple_types contents:
16CHECK: String: 0x00000066 "A"
17CHECK-NEXT: Data 0 [
18CHECK-NEXT:   Atom[0]: 0x0000012d
19CHECK-NEXT:   Atom[1]: 0x0013 (DW_TAG_structure_type)
20CHECK-NEXT:   Atom[2]: 0x02
21CHECK-NEXT:   Atom[3]: 0x0b87b15a
22CHECK-NEXT: ]
23
24CHECK: .apple_objc contents:
25CHECK-NEXT: Header {
26CHECK-NEXT:   Magic: 0x48415348
27CHECK-NEXT:   Version: 0x1
28CHECK-NEXT:   Hash function: 0x0
29CHECK-NEXT:   Bucket count: 2
30CHECK-NEXT:   Hashes count: 2
31CHECK-NEXT:   HeaderData length: 12
32CHECK-NEXT: }
33CHECK-NEXT: DIE offset base: 0
34CHECK-NEXT: Number of atoms: 1
35CHECK-NEXT: Size of each hash data entry: 4
36CHECK-NEXT: Atoms [
37CHECK-NEXT:   Atom 0 {
38CHECK-NEXT:     Type: DW_ATOM_die_offset
39CHECK-NEXT:     Form: DW_FORM_data4
40CHECK-NEXT:   }
41CHECK-NEXT: ]
42CHECK-NEXT: Bucket 0 [
43CHECK-NEXT:   Hash 0x2b5e6 [
44CHECK-NEXT:     Name@0x38 {
45CHECK-NEXT:       String: 0x00000066 "A"
46CHECK-NEXT:       Data 0 [
47CHECK-NEXT:         Atom[0]: 0x00000027
48CHECK-NEXT:       ]
49CHECK-NEXT:       Data 1 [
50CHECK-NEXT:         Atom[0]: 0x0000007a
51CHECK-NEXT:       ]
52CHECK-NEXT:     }
53CHECK-NEXT:   ]
54CHECK-NEXT: ]
55CHECK-NEXT: Bucket 1 [
56CHECK-NEXT:   Hash 0x3fa0f4b5 [
57CHECK-NEXT:     Name@0x4c {
58CHECK-NEXT:       String: 0x0000009d "A(Category)"
59CHECK-NEXT:       Data 0 [
60CHECK-NEXT:         Atom[0]: 0x0000007a
61CHECK-NEXT:       ]
62CHECK-NEXT:     }
63CHECK-NEXT:   ]
64CHECK-NEXT: ]
65