summaryrefslogtreecommitdiffstats
path: root/llvm/test/DebugInfo/dwarfdump-accel.test
diff options
context:
space:
mode:
authorFrederic Riss <friss@apple.com>2014-11-12 23:48:10 +0000
committerFrederic Riss <friss@apple.com>2014-11-12 23:48:10 +0000
commit39467276d083d984c98d4df2fe4bc016b5fbee90 (patch)
treeef2479def14345d1606d7e28e0e28794eaeb61b9 /llvm/test/DebugInfo/dwarfdump-accel.test
parente4576d2c46e66fbf2b7b076a688eb24424852376 (diff)
downloadbcm5719-llvm-39467276d083d984c98d4df2fe4bc016b5fbee90.tar.gz
bcm5719-llvm-39467276d083d984c98d4df2fe4bc016b5fbee90.zip
[dwarfdump] Add support for dumping accelerator tables.
The class used for the dump only allows to dump for the moment, but it can (and will) be easily extended to support search also. llvm-svn: 221836
Diffstat (limited to 'llvm/test/DebugInfo/dwarfdump-accel.test')
-rw-r--r--llvm/test/DebugInfo/dwarfdump-accel.test154
1 files changed, 154 insertions, 0 deletions
diff --git a/llvm/test/DebugInfo/dwarfdump-accel.test b/llvm/test/DebugInfo/dwarfdump-accel.test
new file mode 100644
index 00000000000..e0205f6348f
--- /dev/null
+++ b/llvm/test/DebugInfo/dwarfdump-accel.test
@@ -0,0 +1,154 @@
+RUN: llvm-dwarfdump %p/Inputs/dwarfdump-objc.x86_64.o | FileCheck %s
+
+CHECK: .apple_names contents:
+CHECK: Magic = 0x48415348
+CHECK: Version = 0x0001
+CHECK: Hash function = 0x00000000
+CHECK: Bucket count = 11
+CHECK: Hashes count = 22
+CHECK: HeaderData length = 12
+CHECK: DIE offset base = 0
+CHECK: Number of atoms = 1
+CHECK: Atom[0] Type: DW_ATOM_die_offset Form: DW_FORM_data4
+CHECK: Bucket[0]
+CHECK: Hash = 0x248050fe Offset = 0x000000fc
+CHECK: Name: 00000165 "-[TestInterface Retain]"
+CHECK: Data[0] => {Atom[0]: 0x0000024f}
+CHECK: Bucket[1]
+CHECK: Hash = 0x926d42cc Offset = 0x0000010c
+CHECK: Name: 00000057 "ReadWrite"
+CHECK: Data[0] => {Atom[0]: 0x000001cb}
+CHECK: Bucket[2]
+CHECK: EMPTY
+CHECK: Bucket[3]
+CHECK: Hash = 0x99254268 Offset = 0x0000011c
+CHECK: Name: 0000013f "-[TestInterface setReadWrite:]"
+CHECK: Data[0] => {Atom[0]: 0x00000209}
+CHECK: Hash = 0x946f52b9 Offset = 0x0000012c
+CHECK: Name: 000000c6 "-[TestInterface ReadOnly]"
+CHECK: Data[0] => {Atom[0]: 0x00000109}
+CHECK: Bucket[4]
+CHECK: EMPTY
+CHECK: Bucket[5]
+CHECK: EMPTY
+CHECK: Bucket[6]
+CHECK: Hash = 0x6e8e91a3 Offset = 0x0000013c
+CHECK: Name: 000001e0 "-[TestInterface NonAtomic]"
+CHECK: Data[0] => {Atom[0]: 0x00000357}
+CHECK: Hash = 0x7d1a5012 Offset = 0x0000014c
+CHECK: Name: 0000014d "setReadWrite:"
+CHECK: Data[0] => {Atom[0]: 0x00000209}
+CHECK: Hash = 0xb65f49d3 Offset = 0x0000015c
+CHECK: Name: 0000020d "setNonAtomic:"
+CHECK: Data[0] => {Atom[0]: 0x00000395}
+CHECK: Hash = 0x354997e2 Offset = 0x0000016c
+CHECK: Name: 00000120 "-[TestInterface ReadWrite]"
+CHECK: Data[0] => {Atom[0]: 0x000001cb}
+CHECK: Bucket[7]
+CHECK: Hash = 0xce8af9c8 Offset = 0x0000017c
+CHECK: Name: 0000005e "Retain"
+CHECK: Data[0] => {Atom[0]: 0x0000024f}
+CHECK: Hash = 0xa7e0338a Offset = 0x0000018c
+CHECK: Name: 0000004d "Assign"
+CHECK: Data[0] => {Atom[0]: 0x00000147}
+CHECK: Hash = 0xa9812410 Offset = 0x0000019c
+CHECK: Name: 00000105 "setAssign:"
+CHECK: Data[0] => {Atom[0]: 0x00000185}
+CHECK: Hash = 0x218d07f6 Offset = 0x000001ac
+CHECK: Name: 000001a2 "-[TestInterface Copy]"
+CHECK: Data[0] => {Atom[0]: 0x000002d3}
+CHECK: Hash = 0x0456817c Offset = 0x000001bc
+CHECK: Name: 000001bc "-[TestInterface setCopy:]"
+CHECK: Data[0] => {Atom[0]: 0x00000311}
+CHECK: Hash = 0x7c83b400 Offset = 0x000001cc
+CHECK: Name: 0000006c "Copy"
+CHECK: Data[0] => {Atom[0]: 0x000002d3}
+CHECK: Bucket[8]
+CHECK: Hash = 0x0f918046 Offset = 0x000001dc
+CHECK: Name: 000001c5 "setCopy:"
+CHECK: Data[0] => {Atom[0]: 0x00000311}
+CHECK: Hash = 0xfb097449 Offset = 0x000001ec
+CHECK: Name: 000001ff "-[TestInterface setNonAtomic:]"
+CHECK: Data[0] => {Atom[0]: 0x00000395}
+CHECK: Hash = 0x71069de3 Offset = 0x000001fc
+CHECK: Name: 00000042 "ReadOnly"
+CHECK: Data[0] => {Atom[0]: 0x00000109}
+CHECK: Bucket[9]
+CHECK: Hash = 0xd55908c6 Offset = 0x0000020c
+CHECK: Name: 000000fa "-[TestInterface setAssign:]"
+CHECK: Data[0] => {Atom[0]: 0x00000185}
+CHECK: Hash = 0xa584b20e Offset = 0x0000021c
+CHECK: Name: 0000018c "setRetain:"
+CHECK: Data[0] => {Atom[0]: 0x0000028d}
+CHECK: Hash = 0x9429886d Offset = 0x0000022c
+CHECK: Name: 00000076 "NonAtomic"
+CHECK: Data[0] => {Atom[0]: 0x00000357}
+CHECK: Hash = 0x287cc300 Offset = 0x0000023c
+CHECK: Name: 000000de "-[TestInterface Assign]"
+CHECK: Data[0] => {Atom[0]: 0x00000147}
+CHECK: Hash = 0x51ce5684 Offset = 0x0000024c
+CHECK: Name: 00000181 "-[TestInterface setRetain:]"
+CHECK: Data[0] => {Atom[0]: 0x0000028d}
+CHECK: Bucket[10]
+CHECK: EMPTY
+
+
+CHECK: .apple_types contents:
+CHECK: Magic = 0x48415348
+CHECK: Version = 0x0001
+CHECK: Hash function = 0x00000000
+CHECK: Bucket count = 4
+CHECK: Hashes count = 4
+CHECK: HeaderData length = 20
+CHECK: DIE offset base = 0
+CHECK: Number of atoms = 3
+CHECK: Atom[0] Type: DW_ATOM_die_offset Form: DW_FORM_data4
+CHECK: Atom[1] Type: DW_ATOM_die_tag Form: DW_FORM_data2
+CHECK: Atom[2] Type: DW_ATOM_type_flags Form: DW_FORM_data1
+CHECK: Bucket[0]
+CHECK: Hash = 0x0b888030 Offset = 0x00000058
+CHECK: Name: 00000046 "int"
+CHECK: Data[0] => {Atom[0]: 0x000000f4} {Atom[1]: 0x0024} {Atom[2]: 0x00}
+CHECK: Bucket[1]
+CHECK: Hash = 0x0b881d29 Offset = 0x0000006b
+CHECK: Name: 0000021b "SEL"
+CHECK: Data[0] => {Atom[0]: 0x000003e0} {Atom[1]: 0x0016} {Atom[2]: 0x00}
+CHECK: Hash = 0x2c549f3d Offset = 0x0000007e
+CHECK: Name: 00000067 "NSObject"
+CHECK: Data[0] => {Atom[0]: 0x00000100} {Atom[1]: 0x0013} {Atom[2]: 0x00}
+CHECK: Bucket[2]
+CHECK: Hash = 0x16a83cb6 Offset = 0x00000091
+CHECK: Name: 00000039 "TestInterface"
+CHECK: Data[0] => {Atom[0]: 0x0000002f} {Atom[1]: 0x0013} {Atom[2]: 0x00}
+CHECK: Bucket[3]
+CHECK: EMPTY
+
+
+CHECK: .apple_namespaces contents:
+CHECK-NOT: Magic
+
+
+CHECK: .apple_objc contents:
+CHECK: Magic = 0x48415348
+CHECK: Version = 0x0001
+CHECK: Hash function = 0x00000000
+CHECK: Bucket count = 1
+CHECK: Hashes count = 1
+CHECK: HeaderData length = 12
+CHECK: DIE offset base = 0
+CHECK: Number of atoms = 1
+CHECK: Atom[0] Type: DW_ATOM_die_offset Form: DW_FORM_data4
+CHECK: Bucket[0]
+CHECK: Hash = 0x16a83cb6 Offset = 0x0000002c
+CHECK: Name: 00000039 "TestInterface"
+CHECK: Data[0] => {Atom[0]: 0x00000109}
+CHECK: Data[1] => {Atom[0]: 0x00000147}
+CHECK: Data[2] => {Atom[0]: 0x00000185}
+CHECK: Data[3] => {Atom[0]: 0x000001cb}
+CHECK: Data[4] => {Atom[0]: 0x00000209}
+CHECK: Data[5] => {Atom[0]: 0x0000024f}
+CHECK: Data[6] => {Atom[0]: 0x0000028d}
+CHECK: Data[7] => {Atom[0]: 0x000002d3}
+CHECK: Data[8] => {Atom[0]: 0x00000311}
+CHECK: Data[9] => {Atom[0]: 0x00000357}
+CHECK: Data[10] => {Atom[0]: 0x00000395} \ No newline at end of file
OpenPOWER on IntegriCloud