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
|
RUN: dsymutil --verify-dwarf=output -f -oso-prepend-path=%p/.. %p/../Inputs/objc.macho.x86_64 -o %t.d4
RUN: llvm-dwarfdump -apple-types -apple-objc %t.d4 | FileCheck %s
; Test DWARF 5 tables
RUN: dsymutil --verify-dwarf=output --accelerator='Dwarf' -f -oso-prepend-path=%p/.. %p/../Inputs/objc.macho.x86_64 -o %t.d5
RUN: llvm-dwarfdump -debug-names %t.d5 | FileCheck %s --check-prefix=D5
D5: String: {{.*}} "method1:"
D5: String: {{.*}} "method2:"
D5: String: {{.*}} "A"
D5: String: {{.*}} "-[A(Category) method2:]"
D5: String: {{.*}} "-[A method1:]"
D5: String: {{.*}} "-[Amethod2:]"
CHECK: .apple_types contents:
CHECK: String: 0x00000066 "A"
CHECK-NEXT: Data 0 [
CHECK-NEXT: Atom[0]: 0x0000012d
CHECK-NEXT: Atom[1]: 0x0013 (DW_TAG_structure_type)
CHECK-NEXT: Atom[2]: 0x02
CHECK-NEXT: Atom[3]: 0x0b87b15a
CHECK-NEXT: ]
CHECK: .apple_objc contents:
CHECK-NEXT: Header {
CHECK-NEXT: Magic: 0x48415348
CHECK-NEXT: Version: 0x1
CHECK-NEXT: Hash function: 0x0
CHECK-NEXT: Bucket count: 2
CHECK-NEXT: Hashes count: 2
CHECK-NEXT: HeaderData length: 12
CHECK-NEXT: }
CHECK-NEXT: DIE offset base: 0
CHECK-NEXT: Number of atoms: 1
CHECK-NEXT: Size of each hash data entry: 4
CHECK-NEXT: Atoms [
CHECK-NEXT: Atom 0 {
CHECK-NEXT: Type: DW_ATOM_die_offset
CHECK-NEXT: Form: DW_FORM_data4
CHECK-NEXT: }
CHECK-NEXT: ]
CHECK-NEXT: Bucket 0 [
CHECK-NEXT: Hash 0x2b5e6 [
CHECK-NEXT: Name@0x38 {
CHECK-NEXT: String: 0x00000066 "A"
CHECK-NEXT: Data 0 [
CHECK-NEXT: Atom[0]: 0x00000027
CHECK-NEXT: ]
CHECK-NEXT: Data 1 [
CHECK-NEXT: Atom[0]: 0x0000007a
CHECK-NEXT: ]
CHECK-NEXT: }
CHECK-NEXT: ]
CHECK-NEXT: ]
CHECK-NEXT: Bucket 1 [
CHECK-NEXT: Hash 0x3fa0f4b5 [
CHECK-NEXT: Name@0x4c {
CHECK-NEXT: String: 0x0000009d "A(Category)"
CHECK-NEXT: Data 0 [
CHECK-NEXT: Atom[0]: 0x0000007a
CHECK-NEXT: ]
CHECK-NEXT: }
CHECK-NEXT: ]
CHECK-NEXT: ]
|