summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-08-12 11:52:59 +0000
committerTim Northover <tnorthover@apple.com>2014-08-12 11:52:59 +0000
commit39c70bbf5621f8f3a37e8d86cf23b016fa1a484f (patch)
tree675d789403d6dc5a1f53ab9735ef3b5d50476cd3 /llvm/test
parent6963686c4731b24dd0de91bf7057be08dbd983a1 (diff)
downloadbcm5719-llvm-39c70bbf5621f8f3a37e8d86cf23b016fa1a484f.tar.gz
bcm5719-llvm-39c70bbf5621f8f3a37e8d86cf23b016fa1a484f.zip
llvm-objdump: print contents of MachO __unwind_info sections
llvm-svn: 215437
Diffstat (limited to 'llvm/test')
-rwxr-xr-xllvm/test/tools/llvm-objdump/Inputs/unwind-info.macho-arm64bin0 -> 50024 bytes
-rwxr-xr-xllvm/test/tools/llvm-objdump/Inputs/unwind-info.macho-x86_64bin0 -> 9136 bytes
-rw-r--r--llvm/test/tools/llvm-objdump/macho-unwind-info-arm64.test28
-rw-r--r--llvm/test/tools/llvm-objdump/macho-unwind-info-x86_64.test29
4 files changed, 57 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objdump/Inputs/unwind-info.macho-arm64 b/llvm/test/tools/llvm-objdump/Inputs/unwind-info.macho-arm64
new file mode 100755
index 00000000000..5b9ce9cf96c
--- /dev/null
+++ b/llvm/test/tools/llvm-objdump/Inputs/unwind-info.macho-arm64
Binary files differ
diff --git a/llvm/test/tools/llvm-objdump/Inputs/unwind-info.macho-x86_64 b/llvm/test/tools/llvm-objdump/Inputs/unwind-info.macho-x86_64
new file mode 100755
index 00000000000..9e6ad6bb926
--- /dev/null
+++ b/llvm/test/tools/llvm-objdump/Inputs/unwind-info.macho-x86_64
Binary files differ
diff --git a/llvm/test/tools/llvm-objdump/macho-unwind-info-arm64.test b/llvm/test/tools/llvm-objdump/macho-unwind-info-arm64.test
new file mode 100644
index 00000000000..712edef50bd
--- /dev/null
+++ b/llvm/test/tools/llvm-objdump/macho-unwind-info-arm64.test
@@ -0,0 +1,28 @@
+# RUN: llvm-objdump -unwind-info %p/Inputs/unwind-info.macho-arm64 2>/dev/null | FileCheck %s
+
+# The 2nd level index here is "regular", including all offsets & encodings in
+# full.
+
+# CHECK: Contents of __unwind_info section:
+# CHECK: Version: 0x1
+# CHECK: Common encodings array section offset: 0x1c
+# CHECK: Number of common encodings in array: 0x2
+# CHECK: Personality function array section offset: 0x24
+# CHECK: Number of personality functions in array: 0x1
+# CHECK: Index array section offset: 0x28
+# CHECK: Number of indices in array: 0x2
+# CHECK: Common encodings: (count = 2)
+# CHECK: encoding[0]: 0x04000000
+# CHECK: encoding[1]: 0x54000000
+# CHECK: Personality functions: (count = 1)
+# CHECK: personality[1]: 0x00008008
+# CHECK: Top level indices: (count = 2)
+# CHECK: [0]: function offset=0x00007d64, 2nd level page offset=0x00000050, LSDA offset=0x00000040
+# CHECK: [1]: function offset=0x00007eb5, 2nd level page offset=0x00000000, LSDA offset=0x00000050
+# CHECK: LSDA descriptors:
+# CHECK: [0]: function offset=0x00007d90, LSDA offset=0x00007f44
+# CHECK: [1]: function offset=0x00007e10, LSDA offset=0x00007f6c
+# CHECK: Second level indices:
+# CHECK: Second level index[0]: offset in section=0x00000050, base function offset=0x00007d64
+# CHECK: [0]: function offset=0x00007d90, encoding=0x78563412
+# CHECK: [1]: function offset=0x00007e10, encoding=0x21436587
diff --git a/llvm/test/tools/llvm-objdump/macho-unwind-info-x86_64.test b/llvm/test/tools/llvm-objdump/macho-unwind-info-x86_64.test
new file mode 100644
index 00000000000..1333d9a4cdb
--- /dev/null
+++ b/llvm/test/tools/llvm-objdump/macho-unwind-info-x86_64.test
@@ -0,0 +1,29 @@
+# RUN: llvm-objdump -unwind-info %p/Inputs/unwind-info.macho-x86_64 2>/dev/null | FileCheck %s
+
+# The 2nd level index in this file is in compressed form, referring to both
+# common and packed encodings.
+
+# CHECK:Contents of __unwind_info section:
+# CHECK: Version: 0x1
+# CHECK: Common encodings array section offset: 0x1c
+# CHECK: Number of common encodings in array: 0x2
+# CHECK: Personality function array section offset: 0x24
+# CHECK: Number of personality functions in array: 0x1
+# CHECK: Index array section offset: 0x28
+# CHECK: Number of indices in array: 0x2
+# CHECK: Common encodings: (count = 2)
+# CHECK: encoding[0]: 0x01000000
+# CHECK: encoding[1]: 0x51000000
+# CHECK: Personality functions: (count = 1)
+# CHECK: personality[1]: 0x00001018
+# CHECK: Top level indices: (count = 2)
+# CHECK: [0]: function offset=0x00000d70, 2nd level page offset=0x00000050, LSDA offset=0x00000040
+# CHECK: [1]: function offset=0x00000eab, 2nd level page offset=0x00000000, LSDA offset=0x00000050
+# CHECK: LSDA descriptors:
+# CHECK: [0]: function offset=0x00000db0, LSDA offset=0x00000f0c
+# CHECK: [1]: function offset=0x00000e20, LSDA offset=0x00000f34
+# CHECK: Second level indices:
+# CHECK: Second level index[0]: offset in section=0x00000050, base function offset=0x00000d70
+# CHECK: [0]: function offset=0x00000d70, encoding[0]=0x01000000
+# CHECK: [1]: function offset=0x00000db0, encoding[1]=0x51000000
+# CHECK: [2]: function offset=0x00000e20, encoding[2]=0x01234567
OpenPOWER on IntegriCloud