llvm-objdump: print contents of MachO __unwind_info sections

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215437 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tim Northover
2014-08-12 11:52:59 +00:00
parent 99cd10fe11
commit 48bfab80aa
5 changed files with 306 additions and 11 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -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

View File

@@ -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